/* 头部 */
.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	background-color: #fff;
	box-sizing: border-box;
}

.header-scrolled {
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* 顶部绿色条 */
.header-top-bar {
	background-color: #21853b;
	padding: 8px 0;
}

.header-top-bar-inner {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.header-top-right {
	display: flex;
	align-items: center;
	gap: 15px;
}

.header-top-links {
	display: flex;
	align-items: center;
	gap: 8px;
}

.header-top-links a {
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	transition: opacity 0.3s;
}

.header-top-links a:hover {
	opacity: 0.8;
}

.header-top-links span {
	color: rgba(255,255,255,0.6);
	font-size: 14px;
}

.header-top-search .search-icon img {
	width: 18px;
	height: 18px;
	filter: brightness(0) invert(1);
	vertical-align: middle;
}

.header-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100px;
	box-sizing: border-box;
}

.logo {
	display: flex;
	align-items: center;
}

.logo img {
	width: auto;
	height: auto;
}

.header-top-search .search-icon img {
	width: 22px;
	height: 22px;
	vertical-align: middle;
	margin-left: 8px;
}

/* 导航 */
.nav {
	display: block;
}

.nav-list {
	list-style: none;
}

.nav-list li {
	float: left;
	margin-left: 22px;
}

.nav-list li:first-child {
	margin-left: 0;
}

.nav-list li a {
	color: #333;
	font-size: 16px;
	padding: 4px 0;
	display: block;
	position: relative;
	font-weight: 500;
	transition: color 0.3s;
}

.nav-list li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 2px;
	background-color: #2d8a4e;
	transition: all 0.3s ease;
	transform: translateX(-50%);
}

.nav-list li a:hover::after {
	width: 100%;
}

.nav-list li a:hover {
	color: #2d8a4e;
}

.nav-list li.active>a {
	color: #2d8a4e;
}

.nav-list li.active>a::after {
	width: 100%;
}

/* 汉堡菜单按钮 */
.mobile-menu-btn {
	display: none;
}

/* Banner */
.banner {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
}

.banner-swiper {
	width: 100%;
	height: 100%;
}

.banner-swiper .swiper-slide {
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.banner-swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	display: block;
	/* object-fit: cover; */
	object-position: center center;
	min-width: 100vw;
}

/* Banner 控制区 */
.banner-controls {
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	align-items: center;
	gap: 12px;
}

.banner-swiper .swiper-pagination {
	position: static;
	width: auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

.banner-swiper .swiper-pagination-bullet {
	width: 36px;
	height: 36px;
	background: transparent;
	opacity: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	font-family: Arial, sans-serif;
	line-height: 1;
	border-radius: 50%;
	cursor: pointer;
	box-sizing: border-box;
	border: 2px dashed transparent;
	position: relative;
	transition: color 0.3s ease, border-color 0.3s ease;
	margin: 0 4px !important;
}

.banner-swiper .swiper-pagination-bullet:hover {
	border-color: rgba(255, 255, 255, 0.8);
	color: #fff;
}

.banner-swiper .swiper-pagination-bullet-active {
	background: transparent;
	color: #fff;
	border-color: transparent;
}

.banner-swiper .swiper-pagination-bullet-active::before {
	content: '';
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	border: 2px dashed #fff;
	border-radius: 50%;
	animation: dashRotate 3s linear infinite;
}

@keyframes dashRotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Banner Next 按钮 */
.banner-next-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	cursor: pointer;
	transition: opacity 0.3s ease;
	margin-left: 4px;
}

.banner-next-btn:hover {
	opacity: 0.7;
}

.banner-next-btn img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* 二级菜单 */
.nav-list .has-submenu {
	position: relative;
	padding-bottom: 8px;
}

.submenu {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	min-width: 160px;
	background-color: #fff;
	padding: 10px 0;
	border-radius: 4px;
	z-index: 200;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.submenu::before {
	content: '';
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%);
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 6px solid #fff;
}

.submenu li {
	float: none;
	margin-left: 0;
	text-align: center;
}

.submenu li a {
	color: #333;
	font-size: 14px;
	padding: 8px 20px;
	display: block;
	white-space: nowrap;
}

.submenu li a:hover {
	background-color: #f5f5f5;
	color: #2d8a4e;
}

.nav-list .has-submenu:hover .submenu {
	display: block;
	animation: fadeInDown 0.3s ease;
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateX(-50%) translateY(-10px);
	}

	to {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
}

/* 搜索弹窗 */
.search-popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 10000;
	justify-content: center;
	align-items: center;
}

.search-popup.active {
	display: flex;
}

.search-box {
	position: relative;
	width: 90%;
	max-width: 600px;
}

.search-close {
	position: absolute;
	top: -60px;
	right: 0;
	color: #fff;
	font-size: 40px;
	line-height: 1;
	text-decoration: none;
}

.search-input-wrap {
	display: flex;
	border-bottom: 2px solid #fff;
	padding-bottom: 10px;
}

.search-input {
	flex: 1;
	background: transparent;
	border: none;
	color: #fff;
	font-size: 20px;
	padding: 10px;
	outline: none;
}

.search-input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.search-btn {
	background: transparent;
	border: 1px solid #fff;
	color: #fff;
	font-size: 16px;
	padding: 10px 30px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.search-btn:hover {
	background-color: #fff;
	color: #000;
}

/* 导航栏滚动效果 */
.header-scrolled {
	transition: background 0.3s ease;
}

/* 内容区 */
.content-section {
	width: 100%;
	padding: 80px 0;
	background-color: #F5F7FA;
	background-image: url(../images/bg1.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
	box-sizing: border-box;
	overflow: hidden;
}

.content-section-inner {
	display: flex;
	gap: 0;
	align-items: flex-end;
	box-sizing: border-box;
}

/* 左侧：2×2 网格 */
.content-left {
	flex: 0 0 460px;
	display: grid;
	grid-template-columns: 230px 230px;
	gap: 0;
}

/* 标题块：无背景色 */
.content-title-block {
	width: 230px;
	height: 230px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 20px 24px;
	box-sizing: border-box;
	background: transparent;
}

/* 标题行 */
.content-title {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 18px;
	align-items: flex-start;
}

.title-en {
	font-size: 14px;
	color: #5171e1;
	font-weight: 400;
	letter-spacing: 3px;
	font-family: Arial, sans-serif;
	flex: none;
	white-space: nowrap;
	border-bottom: none;
	padding-bottom: 0;
}

.title-en::after {
	content: '';
	display: inline-block;
	width: 60px;
	border-top: 2px dashed rgba(81, 113, 225, 0.5);
	margin-left: 10px;
	vertical-align: middle;
}

.title-cn {
	font-size: 36px;
	color: #222222;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 1px;
}

.content-more-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 1px solid #5171e1;
	color: #5171e1;
	padding: 6px 16px;
	border-radius: 5px;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1px;
	transition: background 0.3s ease, color 0.3s ease;
	margin-top: 30px;
}

.content-more-btn:hover {
	background: #5171e1;
	color: #fff;
}

.content-more-btn:hover img {
	filter: brightness(0) invert(1);
}

.content-more-btn img {
	height: 12px;
	width: auto;
	display: block;
}

/* Tab 卡片 */
.content-tab-item {
	position: relative;
	width: 230px;
	height: 230px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 16px 10px;
	transition: box-shadow 0.3s ease;
	box-sizing: border-box;
}

.tab-course { background: #5171e1; }
.tab-honor  { background: #5171e1; }
.tab-teacher{ background: #f5b915; }

.content-tab-item:hover,
.content-tab-item.active {
	/* 仅箭头标识，无边框 */
}

.content-tab-item::after {
	content: '';
	position: absolute;
	top: 12px;
	right: 12px;
	width: 18px;
	height: 18px;
	background: url(../images/hover.png) no-repeat center center;
	background-size: contain;
	opacity: 0;
	transform: scale(0.5);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.content-tab-item.active::after {
	opacity: 1;
	transform: scale(1);
}

.tab-teacher.active::after {
	filter: brightness(0) invert(1);
}

.content-tab-item img {
	object-fit: contain;
	margin-bottom: 12px;
	/* filter: brightness(0) invert(1); */
}

.tab-label {
	font-size: 24px;
	color: #fff;
	text-align: center;
	margin-bottom: 4px;
}

.tab-sublabel {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
	letter-spacing: 1px;
	text-align: center;
	font-family: Arial, sans-serif;
}

/* 右侧：900:600 响应式比例 */
.content-right {
	flex: 1;
}

.content-panel {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-bottom: 66.67%; /* 900:600 = 3:2 */
}

.content-panel-track {
	position: absolute;
	top: 0;
	left: 0;
	width: 300%;
	height: 100%;
	display: flex;
	flex-direction: row;
	transition: transform 0.4s ease;
}

.content-panel-item {
	width: 33.3333%;
	height: 100%;
	flex-shrink: 0;
}

.content-panel-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 左右切换按钮 */
.content-prev-btn,
.content-next-btn {
	position: absolute;
	bottom: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #f5b915;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.3s ease;
}

.content-next-btn {
	right: 40px;
	border-radius: 0 5px 5px 0;
}

.content-prev-btn {
	right: 81px; /* 40 + 40 + 10 gap */
	border-radius: 5px 0 0 5px;
}

.content-prev-btn:hover,
.content-next-btn:hover {
	background: #e0a800;
}

.content-prev-btn img,
.content-next-btn img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

/* CSS 绘制箭头 */
.content-prev-btn span,
.content-next-btn span {
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #3356cd;
	border-right: 2px solid #3356cd;
}

.content-next-btn span {
	transform: rotate(45deg);
	margin-left: -3px;
}

.content-prev-btn span {
	transform: rotate(-135deg);
	margin-left: 3px;
}

/* ===== 新闻资讯区 ===== */
.news-section {
	width: 100%;
	padding: 80px 0;
	background-color: #EEF0F8;
	box-sizing: border-box;
}

.news-section-inner {
	box-sizing: border-box;
}

/* 头部 */
.news-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	margin-bottom: 40px;
}

.news-title {
	display: flex;
	align-items: center;
	gap: 12px;
}

.news-title-line {
	display: block;
	width: 60px;
	border-top: 2px dashed rgba(81, 113, 225, 0.5);
}

.news-title-en {
	font-size: 16px;
	color: #5171e1;
	font-weight: bold;
	font-family: Arial, sans-serif;
}

.news-title-cn {
	font-size: 36px;
	color: #222;
	font-weight: bold;
	margin: 8px 0 0;
	letter-spacing: 2px;
}

.news-more-btn {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 1px solid #5171e1;
	color: #5171e1;
	padding: 6px 16px;
	border-radius: 5px;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1px;
	transition: background 0.3s ease, color 0.3s ease;
}

.news-more-btn:hover {
	background: #5171e1;
	color: #fff;
}

.news-more-btn img {
	height: 50%;
	width: auto;
	display: block;
	transition: filter 0.3s ease;
}

.news-more-btn:hover img {
	filter: brightness(0) invert(1);
}

/* 卡片区 */
.news-cards {
	display: flex;
	gap: 2%;
	margin-bottom: 30px;
}

.news-card {
	flex: 1;
	background: #fff;
	overflow: hidden;
	text-decoration: none;
	display: block;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.news-card-img {
	width: 100%;
	overflow: hidden;
}

.news-card-img img {
	width: 100%;
	display: block;
	transition: transform 0.4s ease;
}

.news-card:hover .news-card-img img {
	transform: scale(1.05);
}

.news-card-info {
	padding: 16px 20px 20px;
}

.news-card-title {
	font-size: 18px;
	color: #333;
	font-weight: normal;
	line-height: 1.6;
	margin-bottom: 16px;
	min-height: 58px;
}

.news-card-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.news-card-date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: #5171e1;
}

.news-card-date img {
	height: 50%;
	width: auto;
	display: block;
}

.news-card-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	color: #f5b915;
	transition: opacity 0.3s ease;
}

.news-card:hover .news-card-link {
	opacity: 0.7;
}

.news-card-link img {
	height: 50%;
	width: auto;
	display: block;
}

/* 列表区 */
.news-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.news-list-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #fff;
	padding: 20px 24px;
	text-decoration: none;
	transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.news-list-item:hover {
	background: #5171e1;
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(81, 113, 225, 0.3);
}

.news-list-item:hover .news-list-date {
	color: #fff;
}

.news-list-item:hover .news-list-date img {
	filter: brightness(0) invert(1);
}

.news-list-item:hover .news-list-title {
	color: #fff;
}

.news-list-item:hover .news-list-arrow img {
	filter: brightness(0) invert(1);
}

.news-list-date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: #5171e1;
	flex-shrink: 0;
	white-space: nowrap;
	margin-bottom: 8px;
}

.news-list-date img {
	height: 50%;
	width: auto;
	display: block;
}

.news-list-title {
	font-size: 16px;
	color: #333;
	font-weight: normal;
	line-height: 1.5;
	transition: color 0.3s ease;
	flex: 1;
	margin-right: 16px;
}

.news-list-row {
	display: flex;
	align-items: center;
	width: 100%;
}

.news-list-arrow {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.news-list-arrow img {
	height: 50%;
	width: auto;
	display: block;
}

/* ===== 招生动态区 ===== */
.enrollment-section {
	position: relative;
	width: 100%;
	padding: 0;
	background-color: #e6e8f4;
	box-sizing: border-box;
}

.enrollment-bg-left {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 37%;
	background: url(../images/left-bg.png) no-repeat left center;
	background-size: cover;
	z-index: 1;
	pointer-events: none;
}

.enrollment-bg-right {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 37%;
	background: url(../images/right-bg.png) no-repeat right center;
	background-size: cover;
	z-index: 1;
	pointer-events: none;
}

.enrollment-inner {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 0;
	align-items: flex-start;
	box-sizing: border-box;
}

/* 左侧标题+箭头 */
.enrollment-left {
	flex: 0 0 220px;
	display: flex;
	flex-direction: column;
	padding: 80px 24px 0;
	box-sizing: border-box;
	background: transparent;
}

.enrollment-title-block {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 40px;
}

.enrollment-title {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.enrollment-title-en {
	font-size: 14px;
	color: #f2c950;
	font-weight: bold;
	font-family: Arial, sans-serif;
	white-space: nowrap;
	letter-spacing: 2px;
}

.enrollment-title-en::after {
	content: '';
	display: inline-block;
	width: 50px;
	border-top: 2px dashed rgba(255, 255, 255, 0.4);
	margin-left: 8px;
	vertical-align: middle;
}

.enrollment-title-cn {
	font-size: 36px;
	color: #fff;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 1px;
}

.enrollment-more-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 1px solid #fff;
	color: #fff;
	padding: 6px 16px;
	border-radius: 5px;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1px;
	transition: background 0.3s ease, color 0.3s ease;
	width: fit-content;
}

.enrollment-more-btn:hover {
	background: #fff;
	color: #5171e1;
}

.enrollment-more-btn:hover img {
	filter: none;
}

.enrollment-more-btn img {
	filter: brightness(0) invert(1);
	display: block;
}

/* 导航箭头 */
.enrollment-nav-arrows {
	position: absolute;
	left: -40px;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.enrollment-arrow-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #f5b915;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.3s ease;
}

.enrollment-arrow-next {
	border-radius: 5px 0 0 5px;
	margin-bottom: 2px;
}

.enrollment-arrow-prev {
	border-radius: 5px 0 0 5px;
}

.enrollment-arrow-btn:hover {
	background: #e0a800;
}

.enrollment-arrow-btn span {
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #3356cd;
	border-right: 2px solid #3356cd;
}

.enrollment-arrow-next span {
	transform: rotate(45deg);
	margin-left: -3px;
}

.enrollment-arrow-prev span {
	transform: rotate(-135deg);
	margin-left: 3px;
}

/* 中间轮播区 */
.enrollment-center {
	flex: 1;
	min-width: 0;
	background: #fff;
	padding: 40px;
	box-sizing: border-box;
	align-self: center;
	position: relative;
}

.enrollment-swiper-container {
	width: 100%;
	overflow: hidden;
}

.enrollment-swiper-container .swiper-slide {
	height: auto !important;
}

.enrollment-card-group {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* 轮播卡片 */
.enrollment-card {
	display: flex;
	align-items: stretch;
	min-height: 0;
	overflow: hidden;
	border-bottom: 1px solid rgba(255,255,255,0.15);
	margin-bottom: 40px;
	text-decoration: none;
}

.enrollment-card:last-child {
	margin-bottom: 0;
}

.enrollment-card-date {
	flex: 0 0 80px;
	align-self: flex-start;
	background: #f5c842;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 12px 6px;
	box-sizing: border-box;
}

.date-day {
	font-size: 32px;
	font-weight: bold;
	color: #2a4abf;
	line-height: 1;
	font-family: Arial, sans-serif;
}

.date-month {
	font-size: 12px;
	color: #5a6a9f;
	margin-top: 4px;
}

.enrollment-card-content {
	flex: 1;
	min-width: 0;
	background: #e8eaf4;
	padding: 14px 50px 14px 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	transition: background 0.3s;
	box-sizing: border-box;
}

.enrollment-card:hover .enrollment-card-content {
	background: url(../images/hover-bg.png) no-repeat center center;
	background-size: cover;
}

.enrollment-card-title {
	color: #333;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 15px;
	transition: color 0.3s;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.enrollment-desc-arrow {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.enrollment-card-desc {
	flex: 1;
	color: #666;
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
	transition: color 0.3s;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.enrollment-card-arrow {
	flex-shrink: 0;
	display: flex;
	align-items: flex-end;
	padding-bottom: 2px;
}

.enrollment-card-arrow img {
	display: block;
	width: 20px;
	transition: filter 0.3s;
}

/* hover状态 */
.enrollment-card:hover .enrollment-card-title {
	color: #fff;
}

.enrollment-card:hover .enrollment-card-desc {
	color: rgba(255, 255, 255, 0.8);
}

.enrollment-card:hover .enrollment-card-arrow img {
	filter: brightness(0) invert(1);
}

/* 右侧资讯栏 */
.enrollment-aside {
	flex: 0 0 433px;
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 80px 24px 0;
	box-sizing: border-box;
	background: transparent;
}

.enrollment-aside-block {
	background: transparent;
	padding: 0 0 16px;
	box-sizing: border-box;
}

.enrollment-aside-block + .enrollment-aside-block {
	padding-top: 16px;
	border-top: none;
}

.enrollment-title-wrap {
	display: inline-block;
	background: #fff;
	padding: 0px 4px 4px 0px;
	margin-bottom: 10px;
	clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
}

.enrollment-aside-title {
	display: inline-block;
	font-size: 20px;
	color: #3356cd;
	font-weight: bold;
	margin-bottom: 0;
	padding: 8px 30px 8px 20px;
	background: #f5c842;
	clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
	position: relative;
	z-index: 1;
}

.enrollment-aside-content p {
	font-size: 14px;
	color: #3356cd;
	line-height: 1.9;
	text-indent: 2em;
}

.enrollment-aside-content p strong:only-child {
	text-indent: 0;
}

.enrollment-aside-content p strong {
	color: #3356cd;
}

.enrollment-aside-content a {
	color: #3356cd;
	text-decoration: none;
	word-break: break-all;
}

.enrollment-aside-content a:hover {
	text-decoration: underline;
}
.enrollment-pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -30px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.enrollment-pagination .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #5171e1;
	opacity: 0.4;
	border-radius: 50%;
	cursor: pointer;
	transition: opacity 0.3s ease, background 0.3s ease;
	margin: 0 !important;
}

.enrollment-pagination .swiper-pagination-bullet:hover {
	opacity: 0.7;
}

.enrollment-pagination .swiper-pagination-bullet-active {
	opacity: 1;
	background: #f5c842;
}

/* 底部 */
.site-footer {
	background: #2a4abf;
	padding: 40px 0 30px;
}

.footer-links {
	display: flex;
	align-items: center;
	padding: 0 5% 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	flex-wrap: wrap;
	gap: 4px;
	box-sizing: border-box;
	position: relative;
}

.footer-links-inner {
	width: 95%;
	max-width: 1360px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	max-height: 32px;
	overflow: hidden;
	transition: max-height 0.4s ease;
	padding-right: 40px;
	box-sizing: border-box;
	position: relative;
}
.footer-links-inner.expanded {
	max-height: 300px;
}

.footer-links-label {
	font-size: 24px;
	color: #fff;
	font-weight: bold;
	margin-right: 8px;
}

.footer-links a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 16px;
	transition: color 0.3s;
}

.footer-links a:hover {
	color: #fff;
}

.footer-links-sep {
	color: rgba(255, 255, 255, 0.4);
	margin: 0 4px;
}

.footer-links-arrow {
	position: absolute;
	right: 0;
	top: 16px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	cursor: pointer;
	transition: transform 0.3s;
}
.footer-links-arrow.expanded {
	transform: translateY(-50%) rotate(180deg);
}

.footer-links-arrow img {
	display: block;
}

.footer-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.footer-left {
	flex: 1;
}

.footer-logo {
	display: block;
	margin-bottom: 20px;
}

.footer-copyright {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 10px;
	line-height: 1.6;
}

.footer-info {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.6;
	margin: 0;
}

.footer-right {
	flex-shrink: 0;
	text-align: center;
	margin-left: 40px;
}

.footer-qrcode {
	display: block;
	width: 100px;
	height: 100px;
	margin-bottom: 8px;
}

.footer-qrcode-text {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

/* ===== Banner-N (子页Banner) ===== */
.banner-n {
	width: 100%;
	height: 500px;
	overflow: hidden;
	position: relative;
}

.banner-n img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
}

/* ===== 当前位置面包屑条 ===== */
.breadcrumb-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 80px;
	z-index: 2;
}

.breadcrumb-bar::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #3356cd;
	clip-path: polygon(
		calc((100% - min(95vw, 1360px)) / 2) 0,
		100% 0,
		100% 100%,
		calc((100% - min(95vw, 1360px)) / 2 - 20px) 100%
	);
}

.breadcrumb-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	height: 100%;
}

.breadcrumb-label {
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	margin-left: 40px;
}

.breadcrumb-inner a {
	color: #fff;
	font-size: 16px;
	transition: opacity 0.3s;
}

.breadcrumb-inner a:hover {
	opacity: 0.8;
}

.breadcrumb-sep {
	color: rgba(255, 255, 255, 0.5);
	margin: 0 8px;
	font-size: 16px;
}

.breadcrumb-current {
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
}

/* ===== 文章列表区 ===== */
.article-section {
	width: 100%;
	padding: 60px 0 80px;
	background-color: #f5f7fa;
	box-sizing: border-box;
}

.article-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.article-item {
	display: flex;
	align-items: stretch;
	text-decoration: none;
	overflow: hidden;
}

/* 内容+图片 包裹层 */
.article-body {
	flex: 1;
	display: flex;
	align-items: center;
	background: #e8eaf4;
	transition: box-shadow 0.3s ease;
	min-width: 0;
}

.article-item:hover .article-body {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	background: url(../images/list-hover.png) no-repeat center center;
	background-size: cover;
}

/* 日期块 */
.article-date-block {
	flex: 0 0 80px;
	width: 80px;
	height: 90px;
	background: #f5c842;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 8px 6px;
	box-sizing: border-box;
}

.article-date-day {
	font-size: 42px;
	color: #3356cd;
	line-height: 1;
	font-family: Arial, sans-serif;
}

.article-date-month {
	font-size: 14px;
	color: #5a6a9f;
	margin-top: 6px;
}

/* 内容区 */
.article-content {
	flex: 1;
	padding: 20px 50px 20px 24px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	position: relative;
	min-width: 0;
	box-sizing: border-box;
}

.article-title {
	font-size: 18px;
	color: #222;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 12px;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.3s;
}

.article-item:hover .article-title {
	color: #fff;
}	

.article-desc {
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.3s;
}

.article-item:hover .article-desc {
	color: rgba(255, 255, 255, 0.85);
}

/* 箭头 */
.article-arrow {
	position: absolute;
	bottom: 16px;
	right: 20px;
	display: flex;
	align-items: center;
}

.article-arrow img {
	width: 20px;
	height: auto;
	display: block;
	transition: filter 0.3s;
}

.article-item:hover .article-arrow img {
	filter: brightness(0) invert(1);
}

/* 右侧缩略图 */
.article-thumb {
	flex: 0 0 270px;
	width: 270px;
	height: 180px;
	overflow: hidden;
	align-self: center;
}

.article-thumb img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.article-item:hover .article-thumb img {
	transform: scale(1.05);
}

/* 分页 */
.article-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 50px;
}

.page-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 12px;
	background: #f0f0f0;
	border: 1px solid #ddd;
	color: #333;
	font-size: 14px;
	text-decoration: none;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

.page-btn:hover {
	border-color: #419038;
	color: #419038;
}

.page-active {
	background: #419038;
	border-color: #419038;
	color: #fff;
}

.page-active:hover {
	background: #419038;
	color: #fff;
}

.page-ellipsis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	color: #999;
	font-size: 14px;
}

.page-jump-label {
	font-size: 14px;
	color: #666;
	margin-left: 8px;
}

.page-jump-input {
	width: 50px;
	height: 36px;
	border: 1px solid #ddd;
	background: #fff;
	text-align: center;
	font-size: 14px;
	box-sizing: border-box;
	outline: none;
}

.page-jump-input:focus {
	border-color: #3356cd;
}

.page-jump-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	padding: 0 14px;
	background: #e0e0e0;
	border: 1px solid #ccc;
	color: #333;
	font-size: 14px;
	cursor: pointer;
	box-sizing: border-box;
	transition: background 0.3s;
}

.page-jump-btn:hover {
	background: #d0d0d0;
}

/* ===== 面包屑右侧 Tab ===== */
.breadcrumb-tabs {
	position: absolute;
	right: calc((100% - min(95vw, 1360px)) / 2);
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	gap: 12px;
	z-index: 3;
}

.breadcrumb-tab {
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
	text-decoration: none;
	transition: color 0.3s;
	position: relative;
	padding-bottom: 4px;
}

.breadcrumb-tab:hover {
	color: #fff;
}

.breadcrumb-tab.active {
	color: #f5c842;
	font-weight: bold;
}

.breadcrumb-tab.active::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -26px;
	transform: translateX(-50%);
	width: 24px;
	height: 3px;
	background: #f5c842;
	border-radius: 2px;
}

.breadcrumb-tab-sep {
	color: rgba(255, 255, 255, 0.4);
	font-size: 16px;
}

/* ===== 人员列表区 ===== */
.personnel-section {
	width: 100%;
	padding: 40px 0 80px;
	background-color: #f5f7fa;
	box-sizing: border-box;
}

.personnel-inner {
	box-sizing: border-box;
}

/* 三级栏目切换 */
.personnel-sub-tabs {
	display: flex;
	justify-content: flex-end;
	gap: 0;
	margin-bottom: 40px;
}

.sub-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 30px;
	background: #e0e2ec;
	color: #333;
	font-size: 15px;
	text-decoration: none;
	transition: all 0.3s;
	border: none;
}

.sub-tab:first-child {
	border-radius: 4px 0 0 4px;
}

.sub-tab:last-child {
	border-radius: 0 4px 4px 0;
}

.sub-tab.active {
	background: #f5c842;
	color: #3356cd;
	font-weight: bold;
}

.sub-tab:hover:not(.active) {
	background: #d0d2dc;
}

/* 人员卡片网格 */
.personnel-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

/* 人员卡片 */
.personnel-card {
	position: relative;
	background: #e8eaf4;
	display: flex;
	align-items: stretch;
	overflow: hidden;
	min-height: 260px;
	padding: 30px;
	box-sizing: border-box;
	transition: box-shadow 0.3s ease;
}

.personnel-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* 照片区域 */
.personnel-photo {
	position: relative;
	flex: 0 0 240px;
	width: 240px;
	height: 320px;
	background: #4a6de5;
	overflow: visible;
	align-self: center;
	margin: 0 0 0 10px;
}

.personnel-photo img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* 照片右上角蓝色拐角 */
.photo-corner-tr {
	position: absolute;
	top: -6px;
	right: -6px;
	width: 110px;
	height: 110px;
	border-top: 6px solid #3356cd;
	border-right: 6px solid #3356cd;
	pointer-events: none;
	z-index: 2;
}

/* 照片左下角黄色拐角 */
.photo-corner-bl {
	position: absolute;
	bottom: -6px;
	left: -6px;
	width: 110px;
	height: 110px;
	border-bottom: 6px solid #f5c842;
	border-left: 6px solid #f5c842;
	pointer-events: none;
	z-index: 2;
}

/* 人员信息区 */
.personnel-info {
	flex: 1;
	padding: 24px 20px 20px 24px;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.personnel-name {
	font-size: 30px;
	color: #3356cd;
	font-weight: bold;
	margin-bottom: 12px;
}

.personnel-titles {
	flex: 1;
}

.personnel-titles p {
	font-size: 16px;
	color: #333333;
	line-height: 1.8;
	margin: 0;
}

/* 详细按钮 */
.personnel-detail-btn {
	position: absolute;
	bottom: 16px;
	right: 20px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 16px;
	border: 1px solid #f5c842;
	border-radius: 4px;
	color: #3356cd;
	font-size: 16px;
	text-decoration: none;
	transition: all 0.3s;
	background: transparent;
}

.personnel-detail-btn:hover {
	background: #f5c842;
	color: #3356cd;
}

.personnel-detail-btn img {
	display: block;
	transition: opacity 0.3s;
}

.personnel-detail-btn:hover img {
	opacity: 0.7;
}

/* ===== 文章详情页 ===== */
.article-detail-section {
	width: 100%;
	min-height: calc(100vh - 280px);
	padding: 60px 0 80px;
	background-color: #fff;
	box-sizing: border-box;
}

.article-detail-inner {
	box-sizing: border-box;
}

.article-detail-title {
	font-size: 30px;
	color: #222;
	text-align: center;
	font-weight: bold;
	margin-bottom: 20px;
	line-height: 1.5;
}

.article-detail-meta {
	text-align: center;
	margin-bottom: 16px;
}

.article-detail-meta span {
	font-size: 16px;
	color: #999;
	margin-right: 20px;
}

.article-detail-divider {
	border: none;
	border-top: 1px solid #e5e5e5;
	margin-bottom: 40px;
}

.article-detail-content {
	font-size: 18px;
	color: #333;
	line-height: 2;
}

.article-detail-content p {
	text-indent: 2em;
	margin-bottom: 20px;
}

.article-detail-content p img {
	display: block;
	margin: 20px auto;
	max-width: 100%;
	height: auto;
}

.article-detail-content p:has(img) {
	text-indent: 0;
	text-align: center;
}

/* ===== 单文档页面 ===== */
.doc-page-title {
	font-size: 24px;
	color: #222;
	font-weight: bold;
	margin: 0 0 24px;
	line-height: 1.5;
}

.doc-page-content {
	font-size: 20px;
	color: #333;
	line-height: 1.8;
}

.doc-page-content p {
	margin-bottom: 24px;
}

.doc-page-content p:last-child {
	margin-bottom: 0;
}

/* ===== 右侧悬浮按钮面板 ===== */
.float-panel {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 999;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.float-panel.visible {
	opacity: 1;
	pointer-events: auto;
}

.float-panel-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100px;
	padding: 20px 10px 16px;
	text-decoration: none;
	border-bottom: 1px solid #eee;
	transition: background 0.3s;
}

.float-panel-item:last-child {
	border-bottom: none;
}

.float-panel-item:hover {
	background: #f5f7fa;
}

.float-panel-icon {
	object-fit: contain;
	margin-bottom: 8px;
}

.float-panel-label {
	font-size: 13px;
	color: #333;
	white-space: nowrap;
}

/* 二维码展开 */
.float-panel-qrcode {
	position: absolute;
	right: 110px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: auto;
	overflow: hidden;
	transition: width 0.3s ease, opacity 0.3s ease;
	opacity: 0;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	padding: 8px;
	box-sizing: border-box;
}

.float-panel-qrcode img {
	display: block;
	width: 140px;
	height: 140px;
	object-fit: contain;
}

.float-panel-consult:hover .float-panel-qrcode,
.float-panel-consult .float-panel-qrcode.show {
	width: 156px;
	opacity: 1;
}

.float-panel-qrcode-tip {
	font-size: 12px;
	color: #666;
	text-align: center;
	margin: 6px 0 0;
	white-space: nowrap;
}

/* ===== Banner 区 ===== */
.banner-section {
	position: relative;
	width: 100%;
	height: 480px;
	overflow: hidden;
	margin-top: 130px;
}

.banner-bg {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.banner-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.banner-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: stretch;
	height: 100%;
}

.banner-left {
	flex: 0 0 62.5%;
	overflow: hidden;
	height: 100%;
	position: relative;
}

.banner-slider-track {
	display: flex;
	width: 300%;
	height: 100%;
	transition: transform 0.5s ease;
}

.banner-slide {
	width: 33.3333%;
	height: 100%;
	flex-shrink: 0;
}

.banner-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.banner-right {
	flex: 1;
	background-color: #82b12f;
	display: flex;
	flex-direction: column;
	padding: 50px 40px 0;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

.banner-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
}

.banner-text-track {
	display: flex;
	width: 300%;
	transition: transform 0.5s ease;
}

.banner-text-slide {
	width: 33.3333%;
	flex-shrink: 0;
}

.banner-title {
	font-size: 30px;
	font-weight: bold;
	color: #fff;
	line-height: 1.5;
	margin: 0 0 30px;
}

.banner-date {
	font-size: 24px;
	color: #fff;
	margin: 0;
}

.banner-nav {
	display: flex;
	gap: 0;
	position: absolute;
	bottom: 0;
	right: 0;
}

.banner-prev {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background-color: #fff;
	transition: background-color 0.3s;
}

.banner-next {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background-color: #21853b;
	transition: background-color 0.3s;
}

.banner-prev:hover {
	background-color: #f0f0f0;
}

.banner-next:hover {
	background-color: #1a6e30;
}

.banner-prev img {
	width: auto;
	height: auto;
}

.banner-next img {
	width: auto;
	height: auto;
	filter: brightness(0) invert(1);
}

/* ===== Events 区 ===== */
.events-section {
	padding: 60px 0;
	background-color: #fff;
}

.events-inner {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

.events-left {
	flex: 0 0 34.3%;
}

.events-left img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 460 / 470;
	object-fit: cover;
}

.events-right {
	flex: 1;
}

.events-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.events-title {
	font-size: 36px;
	font-weight: bold;
	color: #222;
	margin: 0;
}

.events-more {
	font-size: 14px;
	color: #82b12f;
	text-decoration: none;
	transition: opacity 0.3s;
}

.events-more:hover {
	opacity: 0.7;
}

.events-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.events-list li {
	border-bottom: 1px solid #eee;
}

.events-list li a {
	display: block;
	padding: 10px 0 0 15px;
	text-decoration: none;
	transition: background-color 0.3s;
}

.events-list li a:hover {
	background-color: #f9f9f9;
}

.events-item-title {
	font-size: 18px;
	color: #333;
	line-height: 1.6;
	margin: 0;
	padding-left: 12px;
	border-left: 3px solid #82b12f;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	min-height: calc(1.6em * 2);
	margin-bottom: 10px;
}

.events-item-date {
	font-size: 18px;
	color: #dddddd;
	padding-left: 15px;
	line-height: 1;
	vertical-align: -3px;
}

/* ===== News & Overseas Exchange 区 ===== */
.news-overseas-section {
	position: relative;
	padding: 60px 0;
	overflow: hidden;
}

.news-overseas-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.news-overseas-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.news-overseas-inner {
	position: relative;
	z-index: 1;
	display: flex;
	gap: 30px;
}

.news-overseas-card {
	flex: 1;
	background-color: #fff;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
}

.card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 30px;
	background-color: #82b12f;
}

.card-title {
	font-size: 36px;
	font-weight: bold;
	color: #fff;
	margin: 0;
}

.card-more {
	font-size: 14px;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.3s;
}

.card-more:hover {
	opacity: 0.7;
}

.card-list {
	list-style: none;
	margin: 0;
	padding: 0 30px;
}

.card-list li {
	padding: 15px 0;
	border-bottom: 1px dashed #ddd;
}

.card-list li:last-child {
	border-bottom: none;
}

.card-list li a {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	text-decoration: none;
	transition: opacity 0.3s;
}

.card-list li a::before {
	content: '';
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	background-color: #21853b;
	border-radius: 50%;
	margin-top: 6px;
}

.card-list li a:hover {
	color: #82b12f;
}

.card-list li a:hover .card-item-title {
	color: #82b12f;
}

.card-item-title {
	font-size: 18px;
	color: #333;
	line-height: 1.6;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ===== Footer ===== */
.footer {
	background-color: #1a6b3c;
	padding: 40px 0;
}

.footer-inner {
	display: block;
	text-align: center;
}

.footer-address,
.footer-info,
.footer-copyright {
	display: block;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.footer-address {
	font-size: 16px;
	color: #fff;
	margin: 0 0 10px;
}

.footer-info {
	font-size: 16px;
	color: #fff;
	margin: 0 0 20px;
	white-space: nowrap;
}

.footer-info span {
	margin: 0 15px;
}

.footer-copyright {
	font-size: 16px;
	color: #fff;
	margin: 0;
}

/* ===== 子页 Banner ===== */
.page-banner {
	position: relative;
	width: 100%;
	height: 280px;
	overflow: hidden;
	margin-top: 130px;
}

.page-banner-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.page-banner-bg img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
}

.page-banner-inner {
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-bottom: 50px;
	align-items: flex-start;
	box-sizing: border-box;
}

.page-banner-title {
	font-size: 30px;
	color: #fff;
	font-weight: bold;
	margin: 0 0 16px;
	line-height: 1.3;
}

.page-banner-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0;
}

.page-banner-breadcrumb a {
	color: #fff;
	font-size: 18px;
	text-decoration: none;
	transition: opacity 0.3s;
}

.page-banner-breadcrumb a:hover {
	opacity: 0.8;
}

.page-banner-breadcrumb .breadcrumb-current {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.page-banner-breadcrumb .breadcrumb-sep {
	color: rgba(255, 255, 255, 0.6);
	font-size: 18px;
	margin: 0 10px;
}

/* ===== 文章列表页 ===== */
.article-list-section {
	width: 100%;
	padding: 40px 0 60px;
	background-color: #fff;
	box-sizing: border-box;
}

.article-list-inner {
	box-sizing: border-box;
}

.article-list-item {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	padding: 24px 16px 0 16px;
	border-bottom: 1px solid #e8e8e8;
	text-decoration: none;
	transition: background-color 0.3s;
}

.article-list-item:hover {
	background-color: #f5f7fa;
}

.article-list-item:hover .article-list-title {
	color: #21853b;
}

.article-list-item:hover .article-list-thumb img {
	transform: scale(1.05);
}

.article-list-left {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.article-list-title {
	font-size: 18px;
	color: #222;
	font-weight: bold;
	line-height: 1.6;
	margin: 0 0 20px;
	padding-left: 14px;
	border-left: 3px solid #21853b;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.article-list-desc {
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin: 0 0 22px;
	padding-left: 14px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.article-list-date {
	font-size: 16px;
	color: #bbb;
	padding-left: 14px;
	vertical-align: -3px;
}

.article-list-thumb {
	flex: 0 0 240px;
	width: 240px;
	height: 160px;
	overflow: hidden;
	flex-shrink: 0;
}

.article-list-thumb img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 0.4s ease;
}

/* ===== 文章详情页 ===== */
.article-detail-page-section {
	width: 100%;
	padding: 50px 0 80px;
	background-color: #fff;
	box-sizing: border-box;
}

.article-detail-page-inner {
	box-sizing: border-box;
}

.article-detail-page-title {
	font-size: 24px;
	color: #222;
	text-align: center;
	font-weight: bold;
	margin: 0 0 24px;
	line-height: 1.5;
}

.article-detail-page-divider {
	border: none;
	border-top: 1px solid #e5e5e5;
	margin: 0 0 24px;
}

.article-detail-page-meta {
	text-align: center;
	margin-bottom: 32px;
}

.article-detail-page-meta span {
	font-size: 18px;
	color: #999;
	margin: 0 12px;
}

.article-detail-page-content {
	font-size: 18px;
	color: #333;
	line-height: 2;
}

.article-detail-page-content p {
	margin-bottom: 20px;
}

.article-detail-page-content p img {
	display: block;
	margin: 20px auto;
	max-width: 100%;
	height: auto;
}

/* 文章列表分页 */
.article-list-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 40px;
	flex-wrap: wrap;
}

/* ===== 图片列表页 ===== */
.photo-list-section {
	width: 100%;
	padding: 40px 0 60px;
	background-color: #fff;
	box-sizing: border-box;
}

.photo-list-inner {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 30px;
}

.photo-list-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	transition: transform 0.3s;
}

.photo-list-item:hover {
	transform: translateY(-4px);
}

.photo-list-img {
	width: 100%;
	max-width: 232px;
	aspect-ratio: 232 / 310;
	overflow: hidden;
	background: #419038;
}

.photo-list-img img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.photo-list-name {
	font-size: 16px;
	color: #333;
	margin: 16px 0 0;
	padding-bottom: 12px;
	text-align: center;
	position: relative;
	width: 100%;
	max-width: 232px;
}

.photo-list-name::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 80%;
	border-top: 2px solid #419038;
}

.photo-list-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 40px;
	flex-wrap: wrap;
}

.new-links{
	margin-top: 30px;
}

.new-links a{
	display: inline-block;
	background-color: #eee;
	color: #333;
	font-size: 18px;
	padding: 10px 20px;
	-moz-transition: all .2s linear;
	-webkit-transition: all .2s linear;
	transition: all .2s linear;
}

.new-links a:hover{
	background-color: #21853b;
	color: #fff;
}

.new-links a.active{
	background-color: #21853b;
	color: #fff;
}

/* 子页 Banner 移动端适配 */
@media screen and (max-width: 768px) {
	.page-banner {
		height: 200px;
		margin-top: 0;
	}

	.page-banner-title {
		font-size: 22px;
		margin-bottom: 10px;
	}

	.page-banner-breadcrumb a,
	.page-banner-breadcrumb .breadcrumb-sep {
		font-size: 14px;
	}

	.page-banner-breadcrumb .breadcrumb-sep {
		margin: 0 6px;
	}
	.new-links{
		white-space: nowrap;
		overflow-x: auto;
	}
	.new-links a{
		background-color: transparent;
		font-size: 14px;
		padding: 5px 10px;
	}
}


.submenu li.ac a {
    background-color: #f5f5f5;
    color: #2d8a4e;
}
.nav-list li.ac a::after {
    width: 100%;
}