/* 全局样式 */
:root {
	--primary-blue: #004b97;
	/* 洛师深蓝色 */
	--hover-blue: #003366;
	--light-bg: #f8f9fa;
	--text-dark: #333333;
	--text-muted: #888888;
}

body {
	font-family: 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--text-dark);
}

html,
body {
	margin: 0;
	padding: 0;
	width: 100%;
	overflow-x: hidden;
}

.fs-7 {
	font-size: 0.85rem;
}

.fs-8 {
	font-size: 0.85rem;
	padding-top: 0.5rem;
}

/* Header 区域 (渐变背景) */
.header-section {
	/* background: linear-gradient(to bottom, rgba(15, 73, 158, 0.9) 20%, rgba(15, 73, 158, 0.7) 50%, rgba(255, 255, 255, 0) 100%); */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1030;
	background: transparent;
}

.top-bar a:hover {
	text-decoration: underline !important;
}

.logo-img {
	height: 45px;
	object-fit: contain;
}

/* 导航栏 */
.navbar-nav .nav-item {
	padding: 0 0.2rem;
}

.navbar-nav .nav-link {
	color: #fff !important;
	font-size: 0.9rem;
	font-weight: bold;
	margin-top: 1rem;
	position: relative;
	transition: all 0.3s ease;
}

.navbar-nav .nav-link::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 2px;
	background-color: #004b97;
	transition: all 0.3s ease;
	transform: translateX(-50%);
	border-radius: 2px;
}

.navbar-nav .nav-link:hover::after {
	width: 100%;
}

.nav-item.dropdown-custom {
	position: relative;
	display: inline-block;
	width: auto;
}

.dropdown-menu-custom {
	position: absolute;
	top: 100%;
	left: 0;
	width: auto;
	min-width: 100%;
	background: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(0px);
	text-align: center;
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 3px solid var(--primary-blue);
	display: none;
	transition: all 0.25s ease;
	z-index: 1050;
}

.nav-item.dropdown-custom:hover .dropdown-menu-custom,
.nav-item.dropdown-custom:focus-within .dropdown-menu-custom {
	display: block;
}

/* 下拉菜单内部列表项 */
.dropdown-menu-custom li {
	display: block;
	width: 100%;
}

.dropdown-menu-custom li a {
	display: block;
	padding: 0.3rem 0rem;
	color: var(--text-dark);
	text-decoration: none;
	font-size: 0.85rem;
	transition: all 0.2s;
	color: var(--hover-blue);
	background: transparent;
	/* 确保背景不继承半透明，内容不透明 */
}

.dropdown-menu-custom li a:hover {
	background-color: var(--primary-blue);
	color: #fff;
}

/* 二维码区域（内容不透明） */
.dropdown-menu-custom .qr-item {
	padding: 0.5rem;
}

.dropdown-menu-custom .qr-item img {
	max-width: 100%;
}

.nav-item.dropdown-custom .nav-link::after {
	display: none;
}

.navbar-nav .nav-link:hover::after {
	width: 100%;
}

.search-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	/* border: 1.5px solid rgba(255, 255, 255, 0.8); */
	border: 1.5px solid #e2e8f0;
	background-color: transparent !important;
	border-radius: 50%;
	transition: all 0.3s ease;
	margin-top: 1rem;
}

.search-icon i {
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url('../img/index/icon_white.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.search-icon:hover {
	background-color: #004b97 !important;
	transform: scale(1.02);
	border-color: #004b97;
}

/* Banner 轮播图 */
.banner-img {
	object-fit: cover;
}

#mainBanner {
	/* margin-top: 38px; */
	margin-top: 0px;
}

#mainBanner .carousel-indicators [data-bs-target] {
	opacity: 1 !important;
}

.banner-caption {
	position: absolute;
	bottom: 20px;
	left: 20px;
	width: 100%;
	color: white;
	font-size: 1.1rem;
}

.custom-indicators {
	bottom: 5px;
	justify-content: center;
	left: 80px;
}

.custom-indicators button {
	width: 7px !important;
	height: 7px !important;
	border-radius: 50%;
	margin: 0 8px !important;
	background-color: #fff !important;
	border: none !important;
}

.custom-indicators button.active {
	background-color: #FFCC66 !important;
	width: 25px !important;
	height: 4px !important;
	border-radius: 4px;
	/* 激活时橙色 */
	transform: scale(1.2);
}

/* 主要内容区背景线框 */
.main-content {
	position: relative;
	background-color: #fff;
}

.content-bg-wrapper::before {
	content: '';
	position: absolute;
	top: 100px;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('../img/index/background.png');
	/* 背景线框图 */
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 0;
	pointer-events: none;
}

.section-title {
	font-size: 1.5rem;
	color: var(--primary-blue) !important;
}

.more-link {
	transition: color 0.3s ease;
	color: rgb(255, 137, 96);
}

.more-link:hover {
	color: var(--primary-blue) !important;
}

.more-link i {
	transition: transform 0.3s ease;
}

.more-link img {
	width: 50px;
	margin-right: 10px;
}

.more-link:hover i {
	transform: translateX(5px);
}

/* 新闻图片 Hover 效果 */
.news-img-box img {
	transition: transform 0.5s ease;
	height: 200px;
	/* 默认高度 */
}

.dj-img-box img {
	height: 180px;
}

.news-img-box:hover img,
.dj-img-box:hover img {
	transform: scale(1.05);
}

.news-img-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: var(--primary-blue);
	font-size: 0.9rem;
}

/* 列表 Hover 效果 */
.news-list .news-item {
	padding: 10px;
	border-bottom: 1px solid #eee;
	transition: all 0.3s ease;
	background-color: transparent;
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
	margin-bottom: 8px;
}

.news-list .news-item:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.news-list .news-item:hover {
	background-color: #0473CF;
	border-radius: 4px;
	padding-left: 15px;
	border-bottom: 1px solid #0473CF;
}

.news-list .news-item:hover h5 {
	color: var(--light-bg);
}

.news-list .news-item .rq {
	color: #0D6EFD;
}

.news-list .news-item:hover .rq {
	color: var(--light-bg);
}

.dj-list .news-item:hover h6 {
	color: var(--primary-blue);
}

.news-list .news-item h5 {
	font-size: 0.95rem;
	font-weight: 500;
	transition: color 0.3s;
}

/* 党建思政列表 */
.dj-list .news-item {
	transition: all 0.3s ease;
	margin-top: 5px;
}

.dj-list .news-item :first-child {
	margin-top: 0;
}

.dj-list .news-item:hover {
	padding-left: 5px;
}

/* 通知公告卡片 */
.notice-section .section-header {
	margin-bottom: 20PX;
}

.notice-card {
	border: 1px solid transparent;
	transition: all 0.3s ease;
	background-color: rgb(242, 220, 167) !important;
	position: relative;
	z-index: 1;
}

.notice-card:hover {
	background-color: #fff !important;
	border-color: rgb(242, 220, 167);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
	transform: translateY(-5px);
}

.notice-card h5 {
	font-size: 0.95rem;
}

.notice-card:hover h5 {
	color: var(--primary-blue) !important;
}

/* Footer */
.footer {
	background-color: #CCCCCC;
	text-align: center;
}

.copyright span {
	padding: 0 10px;
}

.friend-links {
	color: rgb(255, 137, 96);
}

.friend-links a {
	text-decoration: none;
	transition: text-decoration 0.3s;
}

.friend-links a:hover {
	text-decoration: underline;
	color: var(--hover-blue);
}

/* 响应式调整 */
@media (max-width: 991.98px) {
	.header-section {
		position: relative;
		background: var(--primary-blue);
	}

	/* .banner-img {
		height: 300px;
	} */

	#mainBanner {
		margin-top: -10px;
	}

	.banner-caption {
		font-size: 0.75rem;
		bottom: 20px;
		left: 0;
	}

	.top-bar {
		justify-content: center !important;
	}

	.navbar-collapse {
		background: var(--primary-blue);
		padding: 1rem;
		border-radius: 0.5rem;
		margin-top: 10px;
		z-index: 1050;
	}

	.navbar-nav .nav-link::after {
		display: none;
	}

	.custom-indicators {
		left: 0;
	}

	.dropdown-menu-custom {
		position: static;
		width: 100%;
		background: rgba(255, 255, 255, 0.95);
		border-top: 2px solid var(--primary-blue);
		box-shadow: none;
		margin-top: 0.5rem;
	}

	/* 调整下拉菜单内链接样式 */
	.dropdown-menu-custom li a {
		padding: 0.5rem 0;
		display: block;
	}

	.search-icon:hover {
		background-color: #fff !important;
		transform: scale(1.02);
		border-color: #fff;
	}

	.search-icon:hover i {
		/* color: #004b97; */
		background-image: url('../img/index/icon_blue.png');
	}

	.search-dropdown-panel {
		width: 280px;
		left: 0;
	}
}

@media (max-width: 767.98px) {
	.news-img-box img {
		height: 200px;
	}

	#mainBanner {
		margin-top: -5px;
	}

	.banner-caption {
		font-size: 0.75rem;
		bottom: 25px;
		left: 0;
	}

	.custom-indicators {
		left: 0;
		bottom: -5px;
	}

	.fs-7 {
		font-size: 0.75rem;
	}

	.news-img-caption,
	.news-list .news-item h5,
	.dj-list .news-item h6 {
		font-size: 0.85rem;
	}

	.notice-card {
		padding: 1rem !important;
	}

	.friend-links {
		text-align: left;
		padding: 5px 0;
	}

	.copyright {
		display: flex;
		flex-direction: column;
		text-align: left;
	}

	.search-icon:hover {
		background-color: #fff !important;
		transform: scale(1.02);
		border-color: #fff;
	}

	.search-icon:hover i {
		color: #004b97;
	}

	.search-dropdown-panel {
		width: calc(100vw - 36px);
		/* 全屏宽度减32px边距，保证不溢出 */
		max-width: 290px;
		/* 限制最大宽度，避免过宽 */
		left: 0px;
		right: auto;
	}

	.search-input-group {
		gap: 6px;
		/* 减少输入框和按钮间隙 */
	}

	.search-dropdown-panel input {
		padding: 3px;
		/* 稍微减小输入框内边距 */
		font-size: 0.6rem !important;
		width: 180px;
	}

	.search-dropdown-panel button {
		padding: 0px;
		font-size: 0.6rem !important;
	}

	.search-dropdown-panel button i {
		font-size: 0.6rem !important;
	}
}

/* ===== 搜索图标容器 & 浮动面板 ===== */
.search-icon-wrapper {
	position: relative;
}

.search-dropdown-panel {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	width: 400px;
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
	padding: 12px 14px;
	z-index: 1060;
	display: none;
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease;
	border: 1px solid rgba(0, 75, 151, 0.15);
}

.search-dropdown-panel.show {
	display: block;
	opacity: 1;
	transform: translateY(0);
}

.search-input-group {
	display: flex;
	align-items: center;
	gap: 8px;
}

.search-dropdown-panel input {
	flex: 1;
	border: 1px solid #e2e8f0;
	border-radius: 40px;
	padding: 8px 16px;
	font-size: 0.85rem;
	outline: none;
	transition: all 0.2s;
	background: #f9fafb;
}

.search-dropdown-panel input:focus {
	border-color: #004b97;
	box-shadow: 0 0 0 3px rgba(0, 75, 151, 0.2);
	background: #fff;
}

.search-dropdown-panel button {
	background: #004b97;
	border: none;
	border-radius: 40px;
	padding: 6px 18px;
	color: white;
	font-size: 0.8rem;
	font-weight: 500;
	transition: background 0.2s;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.search-dropdown-panel button i {
	font-size: 0.9rem;
}

.search-dropdown-panel button:hover {
	background: #003366;
}

/* ===== 左侧边栏样式 ===== */
.sidebar-card {
	text-align: center;
}

.sidebar-header {
	background-color: #004b97;
	padding: 12px;
}

.sidebar-title {
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	margin: 0;
	letter-spacing: 1px;
}

.sidebar-item .zswork {
	background-color: #DADADA;
}

.sidebar-item .sidebar-link {
	color: #004b97;
	display: block;
	padding: 12px;
	font-weight: 500;
	transition: all 0.2s;
	font-size: 0.95rem;
	margin-top: 2px;
	text-decoration: none;
}

.sidebar-link:hover {
	background-color: #DADADA;
}

 .pull-left {
	font-size: 1.2rem;
}