﻿/* ===== 移动端样式 ===== */

/* 汉堡按钮（PC端默认隐藏） */
.m-menu-btn {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 28px;
	height: 20px;
	cursor: pointer;
}
.m-menu-btn span {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #fff;
	border-radius: 2px;
	transition: transform .3s, opacity .3s;
}

/* 移动端遮罩 */
.m-mask {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .5);
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
}
.m-mask.active {
	opacity: 1;
	visibility: visible;
}

/* 移动端菜单抽屉 */
.m-menu {
	position: fixed;
	top: 0;
	right: 0;
	width: 280px;
	max-width: 80%;
	height: 100%;
	background-color: #fff;
	z-index: 9999;
	transform: translateX(100%);
	transition: transform .3s;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.m-menu.active {
	transform: translateX(0);
}
.m-menu-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px;
	background-color: #b02324;
	flex-shrink: 0;
	gap: 10px;
}
.m-menu-logo {
	max-height: 40px;
	max-width: 220px;
	object-fit: contain;
}
.m-menu-close {
	position: relative;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	cursor: pointer;
}
.m-menu-close::before,
.m-menu-close::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 2px;
	background-color: #fff;
}
.m-menu-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.m-menu-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* 菜单列表 */
.m-menu-list {
	flex: 1;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.m-menu-item {
	border-bottom: 1px solid #eee;
}
.m-menu-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 15px;
	color: #333;
	font-size: 15px;
	transition: color .3s;
}
.m-menu-link.active,
.m-menu-link:active {
	color: #b02324;
}
.m-arrow {
	position: relative;
	width: 8px;
	height: 8px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	transform: rotate(45deg);
	transition: transform .3s;
}
.m-menu-item.expanded .m-arrow {
	transform: rotate(135deg);
}

/* 二级菜单 */
.m-menu-sub {
	display: none;
	background-color: #f5f5f5;
}
.m-menu-item.expanded .m-menu-sub {
	display: block;
}
.m-menu-sub a {
	display: block;
	padding: 12px 15px 12px 30px;
	color: #666;
	font-size: 14px;
	border-bottom: 1px solid #e8e8e8;
	transition: color .3s, background-color .3s;
}
.m-menu-sub a:last-child {
	border-bottom: none;
}
.m-menu-sub a:active {
	color: #b02324;
	background-color: #ebebeb;
}

/* ===== 响应式断点 ===== */
@media (max-width: 768px) {
	/* 头部顶部栏调整 */
	.top-bar {
		padding: 12px 0;
	}
	.top-bar-inner {
		padding: 0 15px;
	}
	.top-logo img {
		height: 40px;
	}
	.top-link,
	.top-divider {
		display: none;
	}
	.m-menu-btn {
		display: flex;
	}

	/* 搜索框移动端 */
	.search-panel {
		width: 95%;
		padding: 30px 20px 25px;
		box-sizing: border-box;
	}
	.search-close {
		top: 6px;
		right: 10px;
	}

	/* 隐藏 PC 导航 */
	.nav-bar {
		display: none;
	}

	/* 头部整体固定 */
	.header {
		position: fixed;
		z-index: 10;
	}

	/* 轮播高度调整 */
	.banner-swiper {
		height: 400px;
	}
	.header-wrap {
		height: auto;
	}

	/* 轮播按钮大小 */
	.banner-swiper .swiper-pagination-bullet {
		width: 14px;
		height: 14px;
	}
	.banner-swiper .swiper-pagination-bullet-active {
		width: 36px;
		height: 14px;
	}

	/* 新闻动态 */
	.section-header {
		margin: 30px 0 20px;
	}
	.section-title {
		font-size: 20px;
		gap: 10px;
	}
	.title-icon {
		width: 30px;
	}
	.section-header::before,
	.section-header::after {
		width: 30px;
		margin: 0 10px;
	}
	.section-more {
		font-size: 12px;
	}
	.news-section {
		padding: 20px 0 30px;
	}
	.news-content {
		flex-direction: column;
		gap: 20px;
	}
	.news-cards {
		width: 100%;
		flex-direction: column;
		gap: 15px;
	}
	.news-card-info {
		padding: 15px;
	}
	.news-card-date {
		font-size: 14px;
	}
	.news-card-title {
		font-size: 16px;
		height: 48px;
	}
	.news-card-desc {
		font-size: 14px;
		height: 72px;
	}
	.news-list {
		width: 100%;
	}
	.news-list-item {
		padding: 15px;
	}
	.news-list-date {
		width: 55px;
		padding-right: 10px;
	}
	.news-day {
		font-size: 20px;
	}
	.news-year {
		font-size: 12px;
	}
	.news-list-info {
		padding: 0 10px;
	}
	.news-list-title {
		font-size: 14px;
	}

	/* 通知公告 */
	.notice-section {
		padding-top: 30px;
	}
	.notice-section .section-header {
		margin-bottom: 20px;
	}
	.notice-body {
		padding: 0 0 45px;
	}
	.notice-body::before {
		right: 0;
		background-size: cover;
		background-position: center top;
	}
	.notice-swiper {
		padding: 30px 15px 0;
	}
	.notice-card {
		padding: 20px;
		height: auto;
		min-height: 220px;
		border-radius: 0 20px 0 0;
	}
	.notice-date {
		width: 56px;
		height: 56px;
	}
	.notice-day {
		font-size: 20px;
	}
	.notice-year {
		font-size: 11px;
	}
	.notice-title {
		font-size: 14px;
		margin-top: 15px;
	}
	.notice-pagination {
		bottom: 15px;
	}
	.notice-pagination .swiper-pagination-bullet {
		width: 8px;
		height: 8px;
	}

	/* 文档下载 */
	.download-section {
		padding: 30px 0 40px;
	}
	.download-section .section-header {
		margin-bottom: 20px;
	}
	.download-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	.download-item {
		padding: 18px 20px;
	}
	.download-title {
		font-size: 16px;
		margin-bottom: 15px;
	}
	.download-date {
		font-size: 13px;
	}
	.download-arrow {
		width: 16px;
	}

	/* 相关平台 */
	.platform-section {
		padding: 20px 0 40px;
	}
	.platform-section .section-header {
		margin-bottom: 20px;
	}
	.platform-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	.platform-item {
		height: 80px;
		padding: 0 20px;
	}
	.platform-icon {
		margin-left: 30px;
		margin-right: 15px;
	}
	.platform-name {
		font-size: 16px;
	}

	/* 页脚 */
	.footer-links {
		padding: 15px 0;
	}
	.footer-links-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.footer-links-label {
		line-height: 1.5;
	}
	.footer-links-list {
		column-gap: 15px;
		row-gap: 10px;
		max-height: 24px;
	}
	.footer-links-list.expanded {
		max-height: 200px;
	}
	.footer-link {
		font-size: 14px;
	}
	.footer-chevron {
		position: absolute;
		top: 15px;
		right: 15px;
	}
	.footer-links {
		position: relative;
	}
	.footer-main {
		padding: 30px 0;
	}
	.footer-main-inner {
		flex-direction: column;
		gap: 25px;
		align-items: center;
	}
	.footer-info {
		flex-direction: column;
		gap: 8px;
		align-items: flex-start;
		font-size: 14px;
	}
	.footer-ewm-label {
		font-size: 14px;
	}
	.footer-copyright {
		padding: 15px 0;
	}
	.footer-copyright-inner {
		flex-direction: column;
		gap: 8px;
		font-size: 13px;
	}
	/* 内页移动端 */
	.inner-banner {
		height: 250px;
	}
	.inner-title-bar > .w {
		flex-direction: column;
		align-items: flex-start;
	}
	.inner-title {
		width: 100%;
		height: 60px;
		font-size: 20px;
		padding-left: 15px;
	}
	.inner-breadcrumb {
		display: none;
	}
	.inner-content {
		padding: 0 0 40px;
	}
	.inner-content > .w {
		flex-direction: column;
		gap: 20px;
	}
	.sidebar-toggle {
		cursor: pointer;
		position: relative;
	}
	.sidebar-toggle::after {
		content: '';
		position: absolute;
		right: 15px;
		top: 50%;
		width: 10px;
		height: 10px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		transform: translateY(-50%) rotate(45deg);
		transition: transform .3s;
	}
	.sidebar-toggle.expanded::after {
		transform: translateY(-50%) rotate(-135deg);
	}
	.inner-sidebar {
		width: 100%;
		position: relative;
	}
	.sidebar-menu {
		max-height: 0;
		overflow: hidden;
		transition: max-height .3s ease;
		padding-bottom: 0;
	}
	.inner-sidebar:not(.collapsed) .sidebar-menu {
		max-height: 300px;
	}
	.sidebar-menu li a {
		padding: 15px;
		font-size: 15px;
	}
	.sidebar-pic {
		display: none;
	}
	.inner-main {
		margin-top: 0;
		width: 100%;
	}
	.inner-main .section-header {
		gap: 8px;
		flex-wrap: wrap;
	}
	.inner-main .section-title {
		font-size: 20px;
	}
	.section-line {
		min-width: 50px;
	}
	.article-list {
		gap: 10px;
		padding: 0;
	}
	.article-item {
		padding: 15px;
		flex-wrap: wrap;
		height: auto;
	}
	.article-date {
		width: 50px;
		height: 50px;
		margin-right: 12px;
		flex-shrink: 0;
	}
	.article-day {
		font-size: 18px;
	}
	.article-year {
		font-size: 11px;
	}
	.article-info {
		flex: 1;
		min-width: 0;
	}
	.article-title {
		font-size: 15px;
		white-space: normal;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.article-desc {
		font-size: 13px;
		white-space: normal;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.article-arrow {
		width: 14px;
		height: 4px;
		position: absolute;
		bottom: 15px;
		left: 15px;
	}
	.pagination {
		flex-wrap: wrap;
		justify-content: center;
		gap: 5px;
		margin-top: 20px;
		padding: 0 10px;
	}
	.pagination-btn {
		padding: 4px 8px;
		font-size: 12px;
	}
	.pagination-num {
		width: 26px;
		height: 26px;
		font-size: 12px;
	}
	.pagination-ellipsis {
		font-size: 12px;
	}
	.pagination-jump {
		font-size: 12px;
	}
	.pagination-input {
		width: 35px;
		height: 26px;
		font-size: 12px;
	}
	.pagination-go {
		padding: 4px 8px;
		font-size: 12px;
	}
	/* 文章详情移动端 */
	.article-detail-title {
		font-size: 20px;
		padding-bottom: 12px;
		border-bottom: 1px dashed #ddd;
		margin-bottom: 15px;
	}
	.article-detail-meta {
		font-size: 13px;
		margin: 12px 0 20px;
	}
	.article-detail-meta span {
		margin: 0 8px;
	}
	.article-detail-content {
		font-size: 15px;
		line-height: 1.7;
	}
	.article-detail-content p {
		margin-bottom: 15px;
	}
	/* 单页内容移动端 */
	.page-content {
		font-size: 14px;
		line-height: 1.7;
		margin-top: 20px;
	}
	.page-content p {
		margin-bottom: 15px;
	}
}

@media (max-width: 480px) {
	.banner-swiper {
		height: 300px;
	}
}