/*------------------------------------------------------------------
# 新增模块样式
# 首页搜索框
# 平台简介模块
# 合作伙伴展示模块
# 我的荣誉展示模块
# 新闻中心模块
-----------------------------------------------*/

/*=====================================================================
 头部导航 & 登录弹窗 & 搜索弹窗 整合样式
=====================================================================*/

/* 顶部三栏布局容器 */
.header-top-row {
     margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

/* LOGO 区域 */
.navbar-header-custom {
    margin: 0;
}

/* 搜索条整体 */
.header-search-input-group {
    display: flex;
    align-items: center;
}

/* 搜索输入框 */
.header-search-input {
    width: 450px;
    height: 50px;
    border: 2px solid #47b382;
    border-right: none;
    border-radius: 4px 0 0 4px;
    margin: 0;
    padding: 0 12px;
    box-sizing: border-box;
    outline: none;
}

/* 搜索按钮 */
.header-search-button {
    background-color: #47b382 !important;
    color: #fff !important;
    border: 2px solid #47b382;
    border-left: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    height: 50px;
    padding: 0 26px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: 18px;
}

/* 登录注册按钮 */
.btn-signup-custom {
    background: #47b382;
    padding: 11px 20px;
    color: #ffffff !important;
    border-radius: 6px;
    margin-top: 0;
    margin-left: 10px;
    align-self: center;
}

/* 导航菜单宽度铺满 */
.navbar-menu-full {
    width: 100%;
    margin: 0 -15px;
}

/* 导航菜单整体居中 + 文字居中 + 间距加大 */
.navbar-drawer-nav {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
}
.navbar-drawer-nav > li {
    float: none !important;
    display: inline-block !important;
}
/* 一级导航文字居中 + 加大左右间距 */
.navbar-drawer-nav > li > a {
    display: block !important;
    text-align: center !important;
    padding-right: 50px !important;
    font-size: 18px !important;
}

/* 语言切换 */
.language-switcher a {
    color: #fff !important;
}

/* 登录弹窗选项卡 */
.nav-advance-custom li {
    flex: 1;
    text-align: center;
}
.nav-advance-custom li a {
    padding: 10px 0;
    font-size: 16px;
    font-weight: 500;
}

/* 登录弹窗内容 */
.tab-content-custom {
    padding: 30px;
}

/* 登录表单输入框 */
.login-form-control {
    height: 45px;
    font-size: 14px;
}

/* 登录提交按钮 */
.login-submit-btn {
    height: 45px;
    font-size: 16px;
    font-weight: 500;
}

/* 扫码登录模块 */
.qrcode-section {
    text-align: center;
    padding: 40px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: #f9f9f9;
}
.qrcode-image {
    width: 220px;
    height: 220px;
    margin: 0 auto 30px;
    background-color: #ffffff;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.qrcode-image img {
    width: 100%;
    height: 100%;
}
.qrcode-hint {
    font-size: 16px;
    color: #333;
}
.qrcode-hint p {
    margin-bottom: 10px;
}
.qrcode-hint p:nth-child(2) {
    margin-bottom: 20px;
    color: #666;
    font-size: 14px;
}
.qrcode-hint a {
    color: #008040;
    text-decoration: none;
    font-size: 14px;
}

/* 响应式布局 */
@media (max-width: 991px) {
    /* 移动端隐藏搜索框 */
    .search-form-inline {
        display: none !important;
    }
}
@media (min-width: 992px) {
    /* 桌面端隐藏移动端搜索按钮 */
    .mobile-action-item:first-child {
        display: none !important;
    }
}


@media (min-width: 1200px) {
    .container {
        width: 1340px;
    }
}

/*=====================================================================
 首页搜索框
====================================================================*/
.search-container {
    background: #ffffff;
    border-radius: 8px;
    padding: 20px; 
    border-top-left-radius: 0px;
    /* margin-top: 30px; */
    /* box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); */
}

.search-tabs {
    display: flex;
    gap: 0;
    /* margin-bottom: 20px; */
}

.search-tab {
    padding: 13px 26px;
    background: #47b382;
    color: #ffffff;
    /* border: 1px solid #eaeff5; */
    border-right: none;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
}

.search-tab:first-child {
    border-top-left-radius: 4px;
    /* border-bottom-left-radius: 4px; */
}

.search-tab.active {
    background: #ffffff;
    color: #334e6f;
    border-color: #47b382;
}

.search-tab:last-child {
    /* border-right: 1px solid #eaeff5; */
    border-top-right-radius: 4px;
    /* border-bottom-right-radius: 4px; */
}

.search-tab.active:last-child {
    border-right-color: #47b382;
}

.new-tag {
    background: #ff6b6b;
    color: #ffffff;
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: 5px;
}

.search-form {
    display: flex;
    gap: 0;
    margin-top:0px;
    margin-bottom: 20px;
    box-shadow:none;
    -webkit-box-shadow:none;
}

.search-input-wrapper {
    flex: 1;
    position: relative;
}

.search-icon {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #707f8c;
    font-size: 16px;
}

.search-input {
    width: 100%;
    padding: 12px 15px 12px 40px;
    border: 1px solid #eaeff5;
    border-right: none;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    font-size: 14px;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.3s ease;
}

.search-input:focus {
    border-color: #47b382;
    box-shadow: none;
    outline: none;
}

.search-button {
    padding: 12px 30px;
    background: #47b382;
    border: 1px solid #47b382;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
}

.search-button:hover {
    background: #47b382;
    border-color: #47b382;
}

.search-categories {
    /* border-top: 1px solid #eaeff5; */
    padding-top: 20px;
}

.search-categories p {
    font-size: 14px;
    color: #777;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 15px;
}

/*===============================================
        Home Banner Settings
==============================================*/
.banner, .utf_main_banner_area {
	background-size: cover!important;
	background-position: center!important;
	margin: 0;
	position: relative
}
.utf_main_banner_area .video-container{
	position: absolute; 
	top: -530px; 
	left: -10%; 
	width: 120%; 
	height: 200%; 
	transform: rotate(-385deg); 
	transform-origin: center; 
	z-index: 0; 
	overflow: hidden;
}
@media screen and (max-width: 479px) {
	.utf_main_banner_area .video-container{
		left: -60%; 
		width: 220%; 
	}
}
.utf_main_banner_area .video-container video{
	width: 100%; 
	height: 100%; 
	object-fit: cover;
}
.utf_main_banner_area .openmodel{
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
	background: rgba(0, 0, 0, 0.5); 
	z-index: 1;
}
.utf_main_banner_area h2 {
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
}
.freelancer.banner {
	background: #ffffff;
}
.freelancer.banner .container {
	display: flex;
	padding: 80px 0;
	flex-wrap: wrap;
	height: 100vh;
	min-height: 550px;
	align-items: center;
}
.banner {
	color: #fff
}
.utf_main_banner_area {
	padding: 68px 0;
}
.utf_main_banner_area h2 {
	color: #ffffff;
	font-weight: 400;
	display: block;
	margin-bottom: 12px;
}


.category-links {
    display: flex;
    align-items: center;
    gap: 30px;
}

.category-links a {
    font-size: 14px;
    color: #47b382;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: color 0.3s ease;
}

.category-links a:hover {
    color: #334e6f;
}

.separator {
    width: 1px;
    height: 15px;
    background: #eaeff5;
}

/* 搜索内容和AI内容的显示/隐藏 */
.search-content,
.ai-content {
    display: none;
}

.search-content.active,
.ai-content.active {
    display: block;
}

/* AI对话容器样式 */
.ai-chat-container {
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
}

.ai-chat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: #ffffff;
    /* border-bottom: 1px solid #eaeff5; */
}

.ai-chat-header h4 {
    font-size: 16px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin: 0;
}

.ai-clear-btn {
    padding: 6px 12px;
    background: #f8f9fa;
    border: 1px solid #eaeff5;
    border-radius: 4px;
    font-size: 12px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
}

.ai-clear-btn:hover {
    background: #e9ecef;
    color: #334e6f;
}

.ai-chat-messages {
    padding: 20px;
    max-height: 300px;
    overflow-y: auto;
}

.ai-message,
.user-message {
    margin-bottom: 15px;
    display: flex;
}

.ai-message {
    justify-content: flex-start;
}

.user-message {
    justify-content: flex-end;
}

.message-content {
    max-width: 80%;
    padding: 10px 15px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 20px;
    font-family: 'Montserrat', sans-serif;
}
.message-content p {
    margin-bottom:0px;
}

.ai-message .message-content {
    background: #ffffff;
    color: #334e6f;
    border-top-left-radius: 0;
}

.user-message .message-content {
    background: #47b382;
    color: #ffffff;
    border-top-right-radius: 0;
}

.ai-chat-input {
    display: flex;
    gap: 10px;
    padding: 15px 20px;
    background: #ffffff;
    /* border-top: 1px solid #eaeff5; */
}

.ai-input {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #eaeff5;
    border-radius: 20px;
    font-size: 14px;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.3s ease;
}

.ai-input:focus {
    border-color: #47b382;
    box-shadow: 0 0 0 0.2rem rgba(38, 174, 97, 0.25);
    outline: none;
}

.ai-send-btn {
    padding: 10px 20px;
    background: #47b382;
    border: none;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
}

.ai-send-btn:hover {
    background: #47b382;
}

.language-switcher {
    position: relative;
}

.language-switcher a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    color: #334e6f;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}

.language-switcher a:hover {
    color: #47b382;
    background: rgba(38, 174, 97, 0.1);
    border-radius: 4px;
}

.language-switcher .dropdown-menu {
    min-width: 120px;
    border: none;
    border-radius: 4px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    padding: 5px;
    /* padding: 5px 0;
    margin-top: 5px;
    left: 10px !important; */
    right: auto !important;
    transform: none !important;
    position: absolute;
    top: 100% !important;
}
.language-switcher .dropdown-menu li {
    margin-bottom: 5px;
}

.language-switcher .dropdown-menu li a {
    padding: 8px 15px;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    color: #334e6f;
    transition: all 0.3s ease;
}
.language-switcher .dropdown-menu .active>a {
    color: #ffffff;
    background: #47b382;
    border-radius: 4px;
}

.language-switcher .dropdown-menu li a:hover {
    border-radius: 4px;
    color: #f8f9fa;
    background: #47b382;
}

/*=====================================================================
 导航栏：未登录 / 已登录（body.user-logged-in 切换）
=====================================================================*/
.navbar-user-guest {
    /* display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0; */
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.navbar-user-member {
    display: none;
}

.user-logged-in .navbar-user-guest {
    display: none !important;
}

.user-logged-in .navbar-user-member{
    display: flex !important;
    align-items: center;
}

.user-logged-in .navbar-user-member .show{
    display: block !important;
}

.navbar-user-member.dropdown {
    position: relative;
}

.navbar-user-toggle {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 6px 8px 6px 6px;
    border-radius: 8px;
    text-decoration: none !important;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    transition: background 0.2s ease, color 0.2s ease;
}

.navbar-user-toggle:hover,
.navbar-user-toggle:focus {
    background: rgba(38, 174, 97, 0.08);
    color: #47b382;
}

.navbar-user-avatar {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #eaeff5;
    background: #f8f9fa;
}

.navbar-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.navbar-user-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.25;
    min-width: 0;
    text-align: left;
}

.navbar-user-name {
    font-size: 14px;
    font-weight: 600;
    color: inherit;
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.navbar-user-role {
    font-size: 12px;
    color: #707f8c;
    font-weight: 400;
}

.navbar-user-caret {
    font-size: 14px;
    color: #707f8c;
    margin-left: 2px;
}

.navbar-user-menu {
    min-width: 220px;
    padding: 8px 0;
    margin-top: 8px;
    border: none;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(41, 128, 185, 0.12);
}

.navbar-user-menu > li > a {
    padding: 10px 18px;
    font-size: 14px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px;
}

.navbar-user-menu > li > a .fa {
    width: 18px;
    text-align: center;
    color: #47b382;
}

.navbar-user-menu > li > a:hover {
    background: #f8f9fa;
    color: #47b382;
}

.navbar-user-menu-brief {
    padding: 12px 18px 8px !important;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    pointer-events: none;
}

.navbar-user-avatar--lg {
    width: 48px;
    height: 48px;
}

.navbar-user-brief-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.navbar-user-brief-text strong {
    font-size: 15px;
    color: #333;
    font-weight: 600;
}

.navbar-user-brief-text span {
    font-size: 12px;
    color: #707f8c;
    word-break: break-all;
}

.navbar-user-logout {
    color: #e74c3c !important;
}

.navbar-user-logout .fa {
    color: #e74c3c !important;
}

.navbar-user-logout:hover {
    background: #fff5f5 !important;
    color: #c0392b !important;
}

/* 透明白字顶栏：已登录入口 */
nav.navbar.bootsnav.no-background.white .navbar-user-toggle {
    color: #ffffff !important;
}

nav.navbar.bootsnav.no-background.white .navbar-user-role,
nav.navbar.bootsnav.no-background.white .navbar-user-caret {
    color: rgba(255, 255, 255, 0.85) !important;
}

nav.navbar.bootsnav.no-background.white .navbar-user-avatar {
    border-color: rgba(255, 255, 255, 0.45);
}

nav.navbar.bootsnav.no-background.white .navbar-user-toggle:hover,
nav.navbar.bootsnav.no-background.white .navbar-user-toggle:focus {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
}

.search-btn {
    position: relative;
}

.search-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #334e6f;
    font-size: 16px;
    transition: all 0.3s ease;
}

.search-btn a:hover {
    color: #47b382;
}

.cart-btn {
    position: relative;
}

.cart-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #334e6f;
    font-size: 18px;
    transition: all 0.3s ease;
}

.cart-btn a:hover {
    color: #47b382;
}

.cart-count {
    position: absolute;
    top: 5px;
    right: 5px;
    background: #47b382;
    color: #fff;
    font-size: 10px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

#search-modal .modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    max-width: 500px;
    margin: 10% auto;
}

#search-modal .modal-body {
    padding: 40px;
    position: relative;
}

#search-modal .close {
    position: absolute;
    top: 5px;
    right: 5px;
    font-size: 20px;
    color: #707f8c;
    opacity: 1;
    transition: all 0.3s ease;
    background: #f8f9fa;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#search-modal .close:hover {
    color: #334e6f;
    background: #eaeff5;
}

#search-modal .search-form {
    /* display: flex;
    gap: 10px;
    align-items: center; */
    display: grid;
    grid-template-columns: 5fr 1fr;
    margin-bottom: 0px;
    gap: 7px;
}

#search-modal .search-form .form-control {
    flex: 1;
    border: 2px solid #eaeff5;
    border-radius: 8px;
    padding: 15px 20px;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 0;
    transition: all 0.3s ease;
}

#search-modal .search-form .form-control:focus {
    border-color: #47b382;
    box-shadow: 0 0 0 0.2rem rgba(38, 174, 97, 0.25);
}

#search-modal .search-form .btn {
    background: #47b382;
    border: none;
    border-radius: 8px;
    padding: 15px 30px;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.3s ease;
    white-space: nowrap;
}

#search-modal .search-form .btn:hover {
    background: #47b382;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(38, 174, 97, 0.3);
}

/* 响应式设计 */
@media (max-width: 767px) {
    .search-form {
        flex-direction: column;
    }
    
    .search-input {
        border-right: 1px solid #eaeff5;
        border-top-right-radius: 4px;
        border-bottom-left-radius: 0;
    }
    
    .search-button {
        width: 100%;
        border-top-right-radius: 0;
        border-bottom-left-radius: 4px;
    }
    
    .category-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .separator {
        width: 100%;
        height: 1px;
    }
    
    .ai-chat-messages {
        max-height: 200px;
    }
    
    .ai-chat-input {
        flex-direction: column;
    }
    
    .ai-send-btn {
        width: 100%;
    }
}

/*=====================================================================
 平台简介模块
=====================================================================*/
.platform-intro {
    padding: 4em 0 3em 0;
    background: #ffffff;
}

.platform-intro .container {
    position: relative;
}

.platform-intro .intro-content {
    display: flex;
    align-items: center;
    gap: 40px;
}

.platform-intro .intro-image {
    flex: 0 0 50%;
    max-width: 50%;
}

.platform-intro .intro-image img {
    width: 100%;
    border-radius: 4px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
}

.platform-intro .intro-text {
    flex: 0 0 50%;
    max-width: 50%;
}

.platform-intro .intro-text h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    font-family: 'Poppins', sans-serif;
}

.platform-intro .intro-text p {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 30px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
}

.platform-intro .intro-text a {
    display: inline-block;
    padding: 12px 30px;
    background: #47b382;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: all 0.3s ease;
}

.platform-intro .intro-text a:hover {
    background: #47b382;
}

.platform-intro .intro-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 5px;
    padding-top: 10px;
    border-top: 1px solid #eaeff5;
}

.platform-intro .stat-item {
    flex: 1;
    min-width: 120px;
    text-align: center;
}

.platform-intro .stat-icon {
    display: inline-block;
    width: 60px;
    height: 60px;
    line-height: 60px;
    border-radius: 50%;
    background: rgba(38, 174, 97, 0.1);
    color: #47b382;
    font-size: 24px;
    margin-bottom: 15px;
}

.platform-intro .stat-number {
    font-size: 28px;
    font-weight: 600;
    color: #334e6f;
    margin-bottom: 5px;
}

.platform-intro .stat-label {
    font-size: 14px;
    color: #707f8c;
}

/*=====================================================================
 合作伙伴展示模块
====================================================================*/
.partners {
    padding: 4em 0 3em 0;
    background: #ffffff;
    position: relative;
    overflow: hidden;
}

.partners:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /*background: rgba(38, 174, 97, 0.05);*/
    background: #ffffff;
    z-index: 0;
}

.partners .container {
    position: relative;
    z-index: 1;
}

.partners .heading {
    padding: 0px 0 35px 0;
    text-align: center;
}

.partners .heading h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
    font-family: 'Poppins', sans-serif;
}

.partners .heading p {
    font-size: 15px;
    color: #707f8c;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.8;
}

.partners .partner-tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    gap: 15px;
}

.partners .partner-tab {
    flex: 0 0 calc(33.333%);
    max-width: calc(33.333%);
}

.partners .partner-tab.active {
    background: #47b382;
    color: #ffffff;
    border-color: #47b382;
}

.partners .partner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.partners .partner-item {
    background: #ffffff;
    padding: 30px;
    border-radius: 4px;
    text-align: center;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    transition: all 0.3s ease;
}

.partners .partner-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.partners .partner-logo {
    max-width: 100%;
    width: 240px;
    height: auto;
    margin: 0 auto 15px;
}

.partners .partner-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    font-family: 'Montserrat', sans-serif;
}

/*=====================================================================
 我的荣誉展示模块
====================================================================*/
.honors {
    padding: 4em 0 3em 0;
    background: #008040;
}

.honors .container {
    position: relative;
}

.honors .heading {
    padding: 0px 0 35px 0;
    text-align: center;
}

.honors .heading h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
}

.honors .heading p {
    font-size: 15px;
    color: #707f8c;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.8;
}

.honors .heading.light h2 {
    color: #ffffff;
}

.honors .heading.light p {
    color: #ffffff;
    opacity: 0.8;
}

.honors .honors-content {
    display: flex;
    gap: 40px;
}

.honors .honors-timeline {
    flex: 0 0 30%;
    max-width: 30%;
}

.honors .timeline-item {
    position: relative;
    padding-left: 30px;
    margin-bottom: 40px;
}

.honors .timeline-item:before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ffffff;
}

.honors .timeline-item:after {
    content: '';
    position: absolute;
    left: 5px;
    top: 17px;
    width: 2px;
    height: calc(100% + 23px);
    background: rgba(255, 255, 255, 0.3);
}

.honors .timeline-item:last-child:after {
    display: none;
}

.honors .timeline-year {
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 10px;
    font-family: 'Poppins', sans-serif;
}

.honors .timeline-content {
    font-size: 14px;
    line-height: 22px;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
}

.honors .honors-grid {
    flex: 0 0 70%;
    max-width: 70%;
    padding-right: 15px;
    padding-left: 15px;
}

.honors .honor-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.honors .honor-row:first-child {
    margin-bottom: 30px;
}

.honors .honor-item {
    flex: 0 0 calc(25% - 15px);
    background: #ffffff;
    padding: 15px;
    border-radius: 4px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.honors .honor-row:first-child .honor-item {
    flex: 0 0 calc(25% - 15px);
}

.honors .honor-row:last-child .honor-item {
    flex: 0 0 calc(20% - 12px);
}

.honors .honor-image {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.honors .honor-title {
    font-size: 12px;
    font-weight: 500;
    color: #333333;
    font-family: 'Montserrat', sans-serif;
}

@media (max-width: 991px) {
    .honors .honors-content {
        flex-direction: column;
    }
    
    .honors .honors-timeline,
    .honors .honors-grid {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 30px;
    }
    
    .honors .honor-row {
        flex-wrap: wrap;
    }
    
    .honors .honor-row .honor-item {
        flex: 0 0 calc(50% - 10px);
        margin-bottom: 15px;
    }
    
    .honors .honor-row:last-child .honor-item {
        flex: 0 0 calc(33.333% - 10px);
    }
}

@media (max-width: 767px) {
    .honors .honor-row .honor-item {
        flex: 0 0 100%;
        margin-bottom: 15px;
    }
    
    .honors .honor-row:last-child .honor-item {
        flex: 0 0 100%;
    }
}

/*=====================================================================
 新闻中心模块
====================================================================*/
.news-center {
    padding: 4em 0 3em 0;
    background: #ffffff;
}

.news-center .container {
    position: relative;
}

.news-center .heading {
    padding: 0px 0 35px 0;
    text-align: center;
}

.news-center .heading h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
    font-family: 'Poppins', sans-serif;
}

.news-center .heading p {
    font-size: 15px;
    color: #707f8c;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.8;
}

.news-center .news-content {
    /* display: flex; */
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.news-center .news-column {
    flex: 1;
    padding: 20px;
    box-shadow: 0 0 15px 0 rgb(0 0 0 / 5%);
}

.news-center .column-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.news-center .news-column h3 {
    font-size: 20px;
    font-weight: 600;
    color: #334e6f;
    position: relative;
    padding-bottom: 10px;
    font-family: 'Poppins', sans-serif;
    margin: 0;
}

.news-center .news-column h3:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: #47b382;
}

.news-center .news-item {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eaeff5;
}

.news-center .news-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.news-center .news-image {
    flex: 0 0 80px;
    max-width: 80px;
}

.news-center .news-image img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
}

.news-center .news-text {
    flex: 1;
}

.news-center .news-title {
    font-size: 14px;
    font-weight: 700;
    color: #334e6f;
    margin-bottom: 5px;
    line-height: 20px;
    font-family: 'Montserrat', sans-serif;
}
.news-text:hover a {
    color: #47b382;
}

.news-center .badge-number {
    font-size: 12px;
    font-weight: 500;
    color: #ffffff;
    background: #47b382;
    padding: 5px 8px 3px 6px;
    border-radius: 4px;
    margin-right: 5px;
}

.news-center .news-date {
    font-size: 12px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
}

.news-center .news-more {
    text-align: right;
}

.news-center .news-more a {
    font-size: 14px;
    font-weight: 500;
    color: #47b382;
    transition: all 0.3s ease;
    font-family: 'Montserrat', sans-serif;
}

.news-center .news-more a:hover {
    color: #334e6f;
}

/*=====================================================================
 响应式设计
====================================================================*/
@media (max-width: 991px) {
    .platform-intro .intro-content {
        flex-direction: column;
        text-align: center;
    }
    
    .platform-intro .intro-image,
    .platform-intro .intro-text {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .platform-intro .intro-image {
        margin-bottom: 30px;
    }
    
    .partners .partner-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 20px;
    }
    
    .honors .honors-content {
        flex-direction: column;
    }
    
    .honors .honors-timeline,
    .honors .honors-grid {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .honors .honors-timeline {
        margin-bottom: 40px;
    }
    
    .news-center .news-content {
        /* flex-direction: column; */
        grid-template-columns: repeat(1, 1fr);
    }
    
    .news-center .news-column {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .news-center .news-column:last-child {
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    .platform-intro .intro-stats {
        flex-direction: column;
        align-items: center;
    }
    
    .platform-intro .stat-item {
        flex: 0 0 100%;
        max-width: 200px;
    }
    
    .partners .partner-tabs {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    
    .partners .partner-tab {
        flex: 0 0 100%;
        max-width: 200px;
        text-align: center;
    }
    
    .honors .honors-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 15px;
    }
    
    .news-center .news-item {
        flex-direction: column;
    }
    
    .news-center .news-image {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 10px;
    }
    
    .news-center .news-image img {
        width: 100%;
        height: 150px;
    }
}

@media (max-width: 575px) {
    .platform-intro,
    .partners,
    .honors,
    .news-center {
        padding: 3em 0 2em 0;
    }
    
    .platform-intro .intro-text h2,
    .partners .heading h2,
    .honors .heading h2,
    .news-center .heading h2 {
        font-size: 24px;
    }
    
    .partners .partner-grid {
        /* grid-template-columns: repeat(2, 1fr); */
        grid-template-columns:repeat(auto-fit, minmax(150px, 1fr))
    }
    
    .honors .honors-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/*=====================================================================
 产品列表页面
====================================================================*/
.utf_gray_bg{
    background-color: #eeeeee7d;
    padding: 1em;
}
.utf_flex_content {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

/*.utf_flex_content_left {*/
/*    flex: 0 0 25%;*/
/*    max-width: 25%;*/
/*}*/

.utf_flex_content_left {
    flex: 0 0 20%;
    max-width: 20%;
    position: sticky !important;
    top: 170px;
    align-self: flex-start;
    max-height: calc(100vh - 160px);
    overflow-y: auto;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.utf_flex_content_left .utf_sidebar_widget{
    padding: 0px;
    box-shadow:none;
}

.utf_flex_content_right {
    flex: 0 0 75%;
    max-width: 75%;
}

.utf_categories_list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.utf_categories_list li {
    margin-bottom: 10px;
}

.utf_categories_list li a {
    display: block;
    padding: 10px 15px;
    background: #ffffff;
    border-radius: 4px;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.utf_categories_list li a:hover,
.utf_categories_list li.active a {
    background: #47b382;
    color: #ffffff;
}

/* 产品列表容器 - 不破坏 Bootstrap 结构 */
.utf_product_list {
    margin-bottom: 30px;
}

/* 核心：强制 row 使用 flex 布局，让所有 col 自动等高 */
.utf_product_list > .row {
    display: flex !important;
    flex-wrap: wrap !important;
}

/* 核心：每一列都变成 flex，保证内部卡片等高 */
.utf_product_list .col-md-4 {
    display: flex !important;
    margin-bottom: 30px !important;
    float: none !important; /* 清除浮动，这是你一直错位的元凶！ */
}

/* 产品卡片 - 自动撑满列高度 */
.utf_product_item {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.utf_product_item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.utf_product_image {
    padding: 20px;
    text-align: center;
    background: #fff;
}

.utf_product_image img {
    max-width: 100%;
    height: auto;
    /*border-radius: 4px;*/
    max-height: 350px;
    object-fit: cover;
}

.utf_product_gallery img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* 内容区域自动拉伸，底部固定 */
.utf_product_content {
    padding: 20px;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 标题固定高度，最多2行，绝不撑高卡片 */
.utf_product_content h4 {
    font-size: 16px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 10px;
    line-height: 22px;
    min-height: 44px;
    max-height: 44px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.utf_product_content h4 a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.utf_product_content h4 a:hover {
    color: #47b382;
}

.utf_product_content p {
    font-size: 14px;
    line-height: 22px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 15px;
}

/* 价格/咨询 永远固定在卡片底部 */
.utf_product_price,
.pt-price {
    margin-top: auto !important;
    margin-bottom: 0 !important;
}

.utf_product_price .price {
    font-size: 23px;
    font-weight: 600;
    color: #47b382;
    font-family: 'Montserrat', sans-serif;
}

.utf_product_actions {
    text-align: center;
}

/* 搜索表单样式 */
.utf_search_filters {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    padding: 30px;
    margin-bottom: 30px;
}

.utf_search_filters_header h3 {
    font-size: 18px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eaeff5;
}

.utf_search_filters_content .form-group {
    margin-bottom: 20px;
}

.utf_search_filters_content label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 8px;
}

.utf_search_filters_content .form-control {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #eaeff5;
    border-radius: 4px;
    font-size: 14px;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.3s ease;
}

.utf_search_filters_content .form-control:focus {
    border-color: #47b382;
    box-shadow: 0 0 0 0.2rem rgba(38, 174, 97, 0.25);
}

.utf_search_filters_content .btn-primary {
    width: 100%;
    padding: 10px 15px;
    background: #47b382;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.3s ease;
    cursor: pointer;
}

.utf_search_filters_content .btn-primary:hover {
    background: #47b382;
}

/* 产品列表布局调整 */
.utf_product_list {
    margin-bottom: 30px;
}

.utf_product_list .row {
    margin: 0 -15px;
}

.utf_product_list .col-md-4 {
    padding: 0 15px;
    /* margin-bottom: 30px; */
}

.utf_product_item {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.utf_product_item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.utf_product_content {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.utf_product_content h4 {
    font-size: 16px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 10px;
    flex: 0 0 auto;
}

.utf_product_content p {
    font-size: 14px;
    line-height: 22px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 15px;
    flex: 1;
}

.utf_product_price {
    margin-bottom: 15px;
    flex: 0 0 auto;
}

.utf_product_actions {
    text-align: center;
    flex: 0 0 auto;
}

.utf_product_actions .btn {
    padding: 8px 20px;
    background: #47b382;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.3s ease;
    cursor: pointer;
}

.utf_product_actions .btn:hover {
    background: #47b382;
}

/* 侧边栏样式调整 */
.utf_sidebar {
    margin-bottom: 30px;
}

.utf_sidebar_widget {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    padding: 25px;
    margin-bottom: 30px;
}

/* .utf_sidebar_widget h3 {
    font-size: 18px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-top: 0px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eaeff5;
} */
 .utf_sidebar_widget h3 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    font-family: 'Poppins', sans-serif;
    margin-top: 0px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eaeff5;
    /* 下面这行是为了让右侧文字对齐更稳，可选加 */
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 查看更多 样式（完美匹配你的主题） */
.utf_sidebar_widget h3 .float-right a {
    font-size: 14px;
    font-weight: 500;
    color: #47b382;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}
.utf_sidebar_widget h3 .float-right a:hover {
    color: #47b382;
    text-decoration: none;
}

.utf_price_range {
    margin-bottom: 20px;
}

.utf_price_range input[type="range"] {
    width: 100%;
    margin-bottom: 15px;
}

.price_range_value {
    font-size: 14px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 4px;
}

.utf_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.utf_tags a {
    display: inline-block;
    padding: 6px 16px;
    background: #f8f9fa;
    border-radius: 20px;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
}

.utf_tags a:hover {
    background: #47b382;
    color: #ffffff;
}

/* 管理标题样式调整 */
.utf_manage_jobs_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding: 20px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
}

.utf_manage_jobs_header_left h3 {
    font-size: 20px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin: 0 0 5px 0;
}

.utf_manage_jobs_header_left span {
    font-size: 14px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
}

.utf_sortby {
    display: flex;
    align-items: center;
    gap: 15px;
}

.utf_sortby label {
    font-size: 14px;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    margin: 0;
}

.utf_sortby .selectpicker {
    padding: 8px 15px;
    border: 1px solid #eaeff5;
    border-radius: 4px;
    font-size: 14px;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    background: #ffffff;
}

.utf_sortby .selectpicker:focus {
    border-color: #47b382;
    box-shadow: 0 0 0 0.2rem rgba(38, 174, 97, 0.25);
}

/*=====================================================================
 产品搜索页面
====================================================================*/
.utf_sidebar {
    margin-bottom: 30px;
}
/* 
.utf_sidebar_widget {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    padding: 20px;
    margin-bottom: 30px;
}

.utf_sidebar_widget h3 {
    font-size: 18px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eaeff5;
} */

.utf_price_range {
    margin-bottom: 20px;
}

.utf_price_range input[type="range"] {
    width: 100%;
    margin-bottom: 10px;
}

.price_range_value {
    font-size: 14px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
}

/*=====================================================================
 移动端头部优化 / 侧栏顶栏与底部工具条
=====================================================================*/
/* bootsnav.js 会在点击时切换 fa-bars / fa-times，此处强制始终显示三道杠 */
nav.navbar.bootsnav .navbar-toggle .fa:before {
    content: "\f0c9" !important;
}

.navbar-mobile-actions {
    display: none;
}

/* 侧栏顶栏：仅移动端展示（无此结构的页面不受影响） */
.navbar-drawer-top {
    display: none;
}

@media (max-width: 991px) {
    nav.navbar.bootsnav .navbar-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
         width: 100%; 
        height: 60px;
        padding: 0 15px;
    }

    .navbar-brand {
        height: 40px !important;
        padding: 5px 0 !important;
        margin: 0 !important;
        order: 1;
        flex: 1;
        min-width: 0;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .navbar-brand img {
        height: 30px !important;
        width: auto;
        margin-top: 0px !important;
    }

    /* 汉堡按钮置于最右侧 */
    nav.navbar.bootsnav .navbar-toggle {
        order: 3;
        margin: 0 !important;
        top: 0;
        float: none !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        font-size: 24px;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .navbar-mobile-actions {
        display: flex;
        align-items: center;
        gap: 12px;
        order: 2;
        flex-shrink: 0;
    }

    .mobile-action-item {
        color: #334e6f;
        font-size: 18px;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
    }

    .mobile-action-item .cart-count {
        position: absolute;
        top: -5px;
        right: -5px;
        background: #47b382;
        color: #fff;
        font-size: 10px;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
    }

    /* 减小头部占用高度 */
    nav.navbar.bootsnav {
        height: 60px;
        max-width: 100vw;
    }

    /* 侧栏：纵向布局 + 中部菜单可滚动 */
    nav.navbar.bootsnav .navbar-collapse {
        /* max-height: calc(100vh - 60px); */
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    }

    /* 仅抽屉版导航：overflow 不能裁切底部语言下拉；滚动交给 .navbar-drawer-nav */
    nav.navbar.bootsnav.navbar-mobile #navbar-menu.navbar-collapse.collapse.in:has(.navbar-drawer-util),
    nav.navbar.bootsnav.navbar-mobile #navbar-menu.navbar-collapse.collapsing:has(.navbar-drawer-util) {
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    nav.navbar.bootsnav .navbar-collapse.collapse.in {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        /* max-height: calc(100vh - 60px); */
        overflow: hidden;
    }

    nav.navbar.bootsnav .navbar-collapse.collapse.in:has(.navbar-drawer-util) {
        overflow: visible;
    }

    .navbar-drawer-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-shrink: 0;
        padding: 10px 15px;
        border-bottom: 1px solid #eaeff5;
        background: #ffffff;
    }

    .navbar-drawer-brand {
        display: flex;
        align-items: center;
        text-decoration: none;
    }

    .navbar-drawer-logo {
        height: 28px;
        width: auto;
        display: block;
    }

    .navbar-drawer-close {
        border: none;
        background: #f8f9fa;
        color: #0fb76b;
        width: 40px;
        height: 40px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        line-height: 1;
        padding: 0;
        cursor: pointer;
        transition: background 0.2s ease, color 0.2s ease;
    }

    .navbar-drawer-close:hover,
    .navbar-drawer-close:focus {
        background: #eaeff5;
        color: #47b382;
        outline: none;
    }

    /* 抽屉导航菜单容器 */
    ul.nav.navbar-nav.navbar-drawer-nav {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        display: block !important;
        float: none !important;
        text-align: left !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
    }

    /* 一级菜单项 */
    ul.nav.navbar-nav.navbar-drawer-nav > li {
        float: none !important;
        display: block !important;
        border-bottom: 1px solid #f0f0f0;
        position: relative !important;
    }

    /* 移动端抽屉菜单项内边距增大为12px */
    ul.nav.navbar-nav.navbar-drawer-nav > li > a {
        display: block !important;
        text-align: left !important;
        padding: 12px 15px !important;
        font-size: 14px !important;
        /* font-weight: 500 !important;
        color: #333 !important; */
        background: transparent !important;
        border-bottom: none !important;
        margin: 0 !important;
        position: relative !important;
    }

    ul.nav.navbar-nav.navbar-drawer-nav > li > a:hover,
    ul.nav.navbar-nav.navbar-drawer-nav > li > a:focus {
        background: #f8f9fa !important;
        color: #47b382 !important;
    }

    /* 一级菜单有下级的箭头 */
    ul.nav.navbar-nav.navbar-drawer-nav > li > a.dropdown-toggle::after {
        display: none !important;
    }

    /* 一级菜单添加下拉箭头（与bootsnav.css一致） */
    nav.navbar.bootsnav ul.nav.navbar-nav.navbar-drawer-nav li.dropdown a.dropdown-toggle:before {
        font-family: 'FontAwesome' !important;
        content: '\f105' !important;
        float: right !important;
        font-size: 14px !important;
        color: #999 !important;
        margin-left: 10px !important;
    }

    /* 展开时箭头变为向下 */
    nav.navbar.bootsnav ul.nav.navbar-nav.navbar-drawer-nav li.dropdown.on > a.dropdown-toggle:before {
        content: '\f107' !important;
    }

    /* 二级下拉菜单 - 由JavaScript控制显示/隐藏，只设置布局样式 */
    nav.navbar.bootsnav ul.nav.navbar-nav.navbar-drawer-nav li.dropdown .dropdown-menu {
        position: relative !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: auto !important;
        z-index: auto !important;
    }

    /* 二级菜单项 - 块级显示、底部边框分隔、内边距10px 15px */
    nav.navbar.bootsnav ul.nav.navbar-nav.navbar-drawer-nav .dropdown-menu li {
        padding-left: 0 !important;
        border-bottom: 1px solid #f0f0f0 !important;
        display: block !important;
        float: none !important;
        width: 100% !important;
        background: transparent !important;
        margin: 0 !important;
    }

    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-menu li:last-child {
        border-bottom: 1px solid #f0f0f0 !important;
    }

    /* 二级菜单链接样式 - 内边距10px 15px */
    nav.navbar.bootsnav ul.nav.navbar-nav.navbar-drawer-nav .dropdown-menu li a {
        padding: 10px 15px !important;
        /* color: #333 !important; */
        font-size: 14px !important;
        /* font-weight: 500 !important; */
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        background: transparent !important;
        border-bottom: none !important;
        margin: 0 !important;
    }

    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-menu li a:hover,
    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-menu li a:focus {
        background: #f8f9fa !important;
        color: #47b382 !important;
    }

    /* 三级菜单 */
    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-submenu {
        position: relative !important;
    }

    /* 三级菜单箭头指示 */
    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-submenu > a::after {
        content: '\f105' !important;
        font-family: 'FontAwesome' !important;
        font-weight: normal !important;
        position: absolute !important;
        right: 15px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: #999 !important;
        font-size: 14px !important;
        display: inline-block !important;
    }

    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-submenu .dropdown-menu {
        background: #f8f9fa !important;
        padding-left: 0 !important;
        width: 100% !important;
        position: relative !important;
        left: 0 !important;
        margin: 0 !important;
    }

    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-submenu .dropdown-menu li {
        padding-left: 0 !important;
        width: 100% !important;
    }

    /* 三级菜单链接样式 - 相对于二级菜单左缩进15px（总共35px），内边距12px */
    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-submenu .dropdown-menu li a {
        padding-left: 35px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: #333 !important;
        background: transparent !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        padding-right: 15px !important;
    }

    /* 当前选中菜单高亮 */
    ul.nav.navbar-nav.navbar-drawer-nav li.active > a,
    ul.nav.navbar-nav.navbar-drawer-nav li.current > a {
        color: #47b382 !important;
        background: #f0f7f3 !important;
    }

    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-menu li.active > a,
    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-menu li.current > a {
        color: #47b382 !important;
        background: #e8f5ed !important;
    }

    /* 移动端隐藏桌面端的下拉箭头动画 */
    ul.nav.navbar-nav.navbar-drawer-nav .dropdown-menu.animated {
        animation: none !important;
    }

    ul.nav.navbar-nav.navbar-drawer-nav li.open > a.dropdown-toggle + .dropdown-menu.animated,
    ul.nav.navbar-nav.navbar-drawer-nav li.open > .dropdown-menu.animated {
        animation: fadeIn 0.2s ease-out !important;
    }

    /* 底部固定：登录/注册（左）+ 语言（右），不用 ul.nav */
    .navbar-drawer-util {
        flex-shrink: 0;
        width: 100%;
        margin: 0 !important;
        padding: 12px 15px;
        border-top: 1px solid #eaeff5;
        background: #ffffff;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.04);
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .navbar-drawer-util ul.navbar-util-tools {
        display: none !important;
    }

    .navbar-drawer-util .navbar-user-auth {
        order: 1;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin-right: auto;
        min-width: 0;
        flex: 1;
    }

    .navbar-drawer-util .navbar-user-guest {
        gap: 8px;
    }

    .navbar-drawer-util .navbar-user-guest .btn-signup.red-btn {
        margin: 0 !important;
        width: auto !important;
        /* padding: 8px 14px !important; */
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .navbar-drawer-util .navbar-user-member {
        max-width: 100%;
        flex: 1;
        min-width: 0;
    }

    .navbar-drawer-util .navbar-user-toggle {
        padding: 4px 6px;
        gap: 8px;
    }

    .navbar-drawer-util .navbar-user-avatar {
        width: 36px;
        height: 36px;
    }

    .navbar-drawer-util .navbar-user-name {
        max-width: 100px;
    }

    .navbar-drawer-util .navbar-user-menu {
        top: auto !important;
        bottom: 100% !important;
        left: 0 !important;
        right: auto !important;
        margin-top: 0 !important;
        margin-bottom: 6px;
        z-index: 1060;
    }

    .navbar-drawer-util .navbar-user-member.open > .navbar-user-menu{
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .navbar-drawer-util .language-switcher {
        order: 2;
        flex-shrink: 0;
        margin-left: auto;
        position: relative;
        z-index: 2;
    }

    .navbar-drawer-util .language-switcher > a {
        padding: 8px 10px;
    }

    /* 底部区域下拉改为向上展开，避免被 overflow 裁切且不易超出屏幕下沿 */
    .navbar-drawer-util .language-switcher .dropdown-menu {
        top: auto !important;
        bottom: 100% !important;
        left: auto !important;
        right: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 6px;
        z-index: 1060;
    }

    /* bootsnav 的 cleanOpen() 会对全局 .dropdown-menu 执行 fadeOut，留下内联样式，导致 Bootstrap 下拉无法显示 */
    .navbar-drawer-util .language-switcher.open > .dropdown-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* 未使用侧栏底部工具条的页面：继续隐藏折叠菜单内重复的右侧导航 */
    #navbar-menu ul.navbar-nav.navbar-right,
    #navbar-menu .navbar-right:not(.navbar-drawer-util) {
        display: none !important;
    }
    /* 移动端：隐藏桌面端登录注册 */
    .header-top-row .desktop-user-auth {
        display: none !important;
    }
}

/* 桌面端：右侧为「语言 + 搜索/购物车 ul + 登录/注册」横向排列（登录注册不在 nav.navbar-nav 内） */
@media (min-width: 992px) {
    /* 强制让导航栏的下拉菜单，在鼠标悬停时「立刻显示、完全不透明、可见」*/
    .navbar-drawer-nav li.dropdown:hover > .dropdown-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }   
    
    nav.navbar.bootsnav .navbar-drawer-util {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        float: right;
        margin: 0;
        padding: 0;
        border: none;
        box-shadow: none;
        width: auto;
        gap: 0;
    }

    nav.navbar.bootsnav .navbar-drawer-util .language-switcher {
        order: 1;
        margin-left: 0;
        margin-right: 0;
        align-self: center;
        display: flex;
        align-items: center;
        min-height: 70px;
    }

    nav.navbar.bootsnav .navbar-drawer-util ul.navbar-util-tools {
        order: 2;
        display: flex !important;
        flex-direction: row;
        align-items: center;
        align-self: center;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        height: 70px;
    }

    nav.navbar.bootsnav .navbar-drawer-util ul.navbar-util-tools > li {
        float: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
    }

    /* 覆盖 bootsnav ul.nav > li > a 的大 padding，使搜索/购物车图标在导航条内垂直水平居中 */
    nav.navbar.bootsnav .navbar-drawer-util ul.navbar-util-tools > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 12px !important;
        margin: 0 !important;
        width: 44px;
        min-width: 44px;
        height: 70px;
        box-sizing: border-box;
    }

    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-auth {
        order: 3;
        display: flex;
        flex-direction: row;
        align-items: center;
        flex-wrap: nowrap;
        gap: 0;
        margin: 0;
        align-self: center;
        height: 70px;
    }

    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-guest {
        height: 70px;
        align-items: center;
    }

    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-member {
        display: none;
        height: 70px;
        align-items: center;
    }

    .user-logged-in nav.navbar.bootsnav .navbar-drawer-util .navbar-user-member {
        display: flex !important;
    }

    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-toggle {
        height: auto;
        max-height: 70px;
        padding: 4px 10px 4px 4px;
    }

    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-menu {
        left: auto !important;
        right: 0 !important;
        margin-top: 6px;
    }

    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-member.open > .navbar-user-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* 透明顶栏时 bootsnav 只给 ul.nav > li > a 白色，语言在 div 内需单独写 */
    nav.navbar.bootsnav.no-background.white .navbar-drawer-util .language-switcher > a.dropdown-toggle,
    nav.navbar.bootsnav.no-background.white .navbar-drawer-util .language-switcher > a.dropdown-toggle .fa {
        color: #ffffff !important;
    }

    nav.navbar.bootsnav.no-background.white .navbar-drawer-util .language-switcher > a.dropdown-toggle:hover,
    nav.navbar.bootsnav.no-background.white .navbar-drawer-util .language-switcher > a.dropdown-toggle:focus {
        color: rgba(255, 255, 255, 0.92) !important;
        background: rgba(255, 255, 255, 0.12) !important;
    }

    /* 对齐原 ul > li > a.btn-signup 的桌面样式（style.css 仅写了 li 包裹形式） */
    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-guest > a.btn-signup.red-btn {
        background: #47b382;
        padding: 11px 20px;
        color: #ffffff !important;
        border-radius: 6px;
        margin-top: 0;
        margin-left: 10px;
        align-self: center;
    }

    .utf_skin_area nav.navbar.bootsnav .navbar-drawer-util .navbar-user-guest > a.btn-signup.red-btn {
        background-color: #47b382 !important;
    }

    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-guest > a.btn-signup.red-btn span {
        margin-right: 7px;
    }
    /* 桌面端：隐藏抽屉底部的登录注册和工具按钮（使用桌面端的） */
    nav.navbar.bootsnav .navbar-drawer-util ul.navbar-util-tools,
    nav.navbar.bootsnav .navbar-drawer-util .navbar-user-auth {
        display: none !important;
    }

    /* 桌面端：显示抽屉底部的语言切换器 */
    nav.navbar.bootsnav .navbar-drawer-util .language-switcher {
        display: flex !important;
    }
}

.utf_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.utf_tags a {
    display: inline-block;
    padding: 5px 15px;
    background: #f8f9fa;
    border-radius: 20px;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.utf_tags a:hover {
    background: #47b382;
    color: #ffffff;
}

.utf_search_filters {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    padding: 20px;
    margin-bottom: 30px;
}

.utf_search_filters_header h3 {
    font-size: 18px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 20px;
}

/*=====================================================================
 产品详情页面
====================================================================*/
.utf_product_details {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    padding: 30px;
}

.utf_product_details h1 {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 20px;
}

.utf_product_rating {
    margin-bottom: 20px;
}

.utf_product_rating i {
    color: #f39c12;
    margin-right: 5px;
}

.utf_product_rating span {
    font-size: 14px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    margin-left: 10px;
}

/*.utf_product_description {*/
/*    margin-bottom: 30px;*/
/*}*/

.utf_product_description p {
    font-size: 14px;
    line-height: 22px;
    color: #333;
    font-family: 'Montserrat', sans-serif;
}

.utf_product_features {
    margin-bottom: 30px;
}

.utf_product_features h3 {
    font-size: 18px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 15px;
}

.utf_product_features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.utf_product_features li {
    font-size: 14px;
    line-height: 24px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}

.utf_product_features li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #47b382;
    font-weight: bold;
}

/*.utf_product_specs {*/
/*    margin-bottom: 30px;*/
/*}*/

.utf_product_specs h3 {
    font-size: 18px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 15px;
}

.utf_product_specs table {
    width: 100%;
    border-collapse: collapse;
}

.utf_product_specs th,
.utf_product_specs td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #eaeff5;
}

.utf_product_specs th {
    background: #f8f9fa;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
}

.utf_product_specs td {
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
}

.utf_product_tab {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    margin-top: 30px;
    overflow: hidden;
}

.utf_product_tab .nav-tabs {
    border-bottom: 1px solid #eaeff5;
    background: #f8f9fa;
}

/*.utf_product_tab .nav-tabs li {*/
/*    margin-bottom: -1px;*/
/*}*/

.utf_product_tab .nav-tabs li a {
    padding: 15px 20px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    border: none;
    border-radius: 0;
    transition: all 0.3s ease;
}

.utf_product_tab .nav-tabs li a:hover,
.utf_product_tab .nav-tabs li.active a {
    background: #ffffff;
    color: #47b382;
    border-bottom: 2px solid #47b382;
}

.utf_product_tab .tab-content {
    padding: 30px;
}

.utf_product_tab .tab-content h3 {
    font-size: 20px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 20px;
}

.utf_product_tab .tab-content p {
    font-size: 14px;
    line-height: 22px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 15px;
}

.utf_product_tab .tab-content ul,
.utf_product_tab .tab-content ol {
    margin-bottom: 15px;
}

.utf_product_tab .tab-content li {
    font-size: 14px;
    line-height: 22px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 10px;
}

.utf_related_products {
    margin-top: 40px;
}

.utf_related_products h3 {
    font-size: 20px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 30px;
}

/*=====================================================================
 新闻中心页面
====================================================================*/
.news-center .column-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.news-center .news-column h3 {
    font-size: 20px;
    font-weight: 600;
    color: #334e6f;
    position: relative;
    padding-bottom: 10px;
    font-family: 'Poppins', sans-serif;
    margin: 0;
}

.news-center .news-column h3:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: #47b382;
}

.news-center .news-more {
    text-align: right;
}

.news-center .news-more a {
    font-size: 14px;
    font-weight: 500;
    color: #47b382;
    transition: all 0.3s ease;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
}

.news-center .news-more a:hover {
    color: #334e6f;
}

/*=====================================================================
 新闻详情页面
====================================================================*/
.utf_news_detail {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    overflow: hidden;
}

.utf_news_image {
    width: 100%;
}

.utf_news_image img {
    width: 100%;
    height: auto;
    border-radius: 8px 8px 0 0;
}

.utf_news_content {
    padding: 30px;
}

.utf_news_content h1 {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 20px;
}

.utf_news_meta {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eaeff5;
}

.utf_news_meta span {
    font-size: 14px;
    color: #777;
    font-family: 'Montserrat', sans-serif;
}

.utf_news_meta i {
    margin-right: 5px;
    color: #47b382;
}

.utf_news_text {
    margin-bottom: 30px;
}

.utf_news_text p {
    font-size: 14px;
    line-height: 24px;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 20px;
}

.utf_news_text h3 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    font-family: 'Poppins', sans-serif;
    margin-top: 30px;
    margin-bottom: 20px;
}

.utf_news_text ul,
.utf_news_text ol {
    margin-bottom: 20px;
}

.utf_news_text li {
    font-size: 14px;
    line-height: 24px;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 10px;
}

.utf_news_share {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eaeff5;
}

.utf_news_share h4 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 15px;
}

.utf_social_share {
    display: flex;
    gap: 10px;
}

.utf_social_share li {
    list-style: none;
}

.utf_social_share a {
    display: block;
    width: 40px;
    height: 40px;
    background: #f8f9fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    transition: all 0.3s ease;
}

.utf_social_share a:hover {
    background: #47b382;
    color: #ffffff;
}

.utf_news_comments {
    margin-top: 30px;
}

.utf_news_comments h4 {
    font-size: 16px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 20px;
}

.utf_comment_item {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eaeff5;
}

.utf_comment_avatar {
    flex: 0 0 50px;
    max-width: 50px;
}

.utf_comment_avatar img {
    width: 100%;
    height: 50px;
    object-fit: cover;
    border-radius: 50%;
}

.utf_comment_content {
    flex: 1;
}

.utf_comment_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.utf_comment_author {
    font-size: 14px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
}

.utf_comment_date {
    font-size: 12px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
}

.utf_comment_text p {
    font-size: 14px;
    line-height: 22px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    margin: 0;
}

.utf_comment_form {
    margin-top: 30px;
}

.utf_comment_form h4 {
    font-size: 16px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 20px;
}

.utf_popular_posts {
    list-style: none;
    padding: 0;
    margin: 0;
}

.utf_popular_posts li {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eaeff5;
}

.utf_popular_posts li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.utf_post_thumb {
    flex: 0 0 80px;
    max-width: 80px;
}

.utf_post_thumb img {
    width: 100%;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
}

.utf_post_content a {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
    margin-bottom: 5px;
}

.utf_post_content a:hover {
    color: #47b382;
}

.utf_post_content span {
    font-size: 12px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
}

/*=====================================================================
 新闻中心页面
====================================================================*/
/* 新闻分类样式 */
.news-categories {
    list-style: none;
    padding: 0;
    margin: 0;
}

.news-categories li {
    margin-bottom: 8px;
}

.news-categories li a {
    display: block;
    padding: 10px 15px;
    background: #f8f9fa;
    border-radius: 4px;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
}

.news-categories li a:hover,
.news-categories li.active a {
    background: #47b382;
    color: #ffffff;
}

/* 大图新闻样式 */
.featured-news {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    overflow: hidden;
    margin-bottom: 30px;
}

.featured-news-image {
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.featured-news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.featured-news:hover .featured-news-image img {
    transform: scale(1.05);
}

.featured-news-content {
    padding: 30px;
}

.featured-news-content h2 {
    font-size: 24px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 15px;
}

.featured-news-content h2 a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.featured-news-content h2 a:hover {
    color: #47b382;
}

.news-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.news-meta span {
    font-size: 14px;
    color: #777;
    font-family: 'Montserrat', sans-serif;
}

.featured-news-content p {
    font-size: 14px;
    line-height: 24px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 20px;
}

.read-more {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: #47b382;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: all 0.3s ease;
}

.read-more:hover {
    color: #334e6f;
}

/* 新闻列表样式 */
.news-list {
    margin-bottom: 30px;
}

.news-list .news-item {
    display: flex;
    gap: 30px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px 0 rgba(41,128,185,0.1);
    overflow: hidden;
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

.news-list .news-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.news-item-content {
    flex: 1;
    padding: 30px;
}

.news-item-content h3 {
    font-size: 18px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 15px;
}

.news-item-content h3 a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.news-item-content h3 a:hover {
    color: #47b382;
}

.news-item-content p {
    font-size: 14px;
    line-height: 22px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 20px;
}

.news-item-image {
    flex: 0 0 250px;
    max-width: 250px;
    height: 180px;
    overflow: hidden;
    margin: 30px;
}

.news-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.news-list .news-item:hover .news-item-image img {
    transform: scale(1.1);
}

/*=====================================================================
 响应式设计
====================================================================*/
@media (max-width: 991px) {
    .utf_flex_content {
        flex-direction: column;
    }
    
    .utf_flex_content_left,
    .utf_flex_content_right {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
        position: static !important;
    }
    
    .utf_flex_content_left {
        margin-bottom: 30px;
    }
    
    .utf_manage_jobs_header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .utf_product_details {
        margin-top: 30px;
    }
    
    .news-list .news-item {
        flex-direction: column;
    }
    
    .news-item-image {
        flex: 0 0 200px;
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .utf_product_list .row > div {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .utf_product_details {
        padding: 20px;
    }
    
    .utf_product_details h1 {
        font-size: 20px;
    }
    
    .utf_news_content {
        padding: 20px;
    }
    
    .utf_news_content h1 {
        font-size: 20px;
    }
    
    .utf_news_meta {
        flex-direction: column;
        gap: 10px;
    }
    
    .utf_comment_item {
        flex-direction: column;
        gap: 10px;
    }
    
    .utf_comment_avatar {
        flex: 0 0 50px;
        max-width: 50px;
    }
    
    .featured-news-content {
        padding: 20px;
    }
    
    .featured-news-content h2 {
        font-size: 20px;
    }
    
    .news-item-content {
        padding: 20px;
    }
    
    .news-item-content h3 {
        font-size: 16px;
    }
    
    .news-meta {
        flex-direction: column;
        gap: 10px;
    }
}

/*=====================================================================
 首页：文献展示 + 畅销产品（与职位列表 / 合作伙伴区块节奏一致）
=====================================================================*/
.utf_pub_best_section {
    background: #f3fdf9;
}

/* 与 .news-center .heading 一致的大标题 */
.utf_pub_best_section .heading {
    padding: 0 0 35px 0;
    text-align: center;
}

.utf_pub_best_section .heading h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
}

.utf_pub_best_section .heading p {
    font-size: 15px;
    color: #707f8c;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.8;
}

.utf_pub_best_row {
    display: flex;
    flex-wrap: wrap;
}

.utf_pub_best_col {
    margin-bottom: 30px;
}

@media (min-width: 992px) {
    .utf_pub_best_col {
        margin-bottom: 0;
    }
}

.utf_pub_best_panel {
    background: #ffffff;
    border-radius: 4px;
    box-shadow: 0 5px 15px 0 rgba(41, 128, 185, 0.1);
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.utf_panel_heading--toolbar {
    padding: 22px 22px 0;
    flex-shrink: 0;
}

.utf_panel_heading--toolbar .utf_panel_title {
    margin: 0 0 16px;
    padding-bottom: 12px;
    font-size: 20px;
    font-weight: 600;
    color: #334e6f;
    font-family: 'Poppins', sans-serif;
    position: relative;
}

.utf_panel_heading--toolbar .utf_panel_title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: #47b382;
}

.utf_panel_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: center;
    margin-bottom: 16px;
}

.utf_panel_more_link {
    font-size: 14px;
    font-weight: 500;
    color: #47b382;
    transition: all 0.3s ease;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    white-space: nowrap;
}

.utf_panel_more_link:hover {
    color: #334e6f;
}

.utf_panel_actions .btn-m {
    text-transform: none;
    letter-spacing: 0;
    padding-left: 16px;
    padding-right: 16px;
}

@media (min-width: 768px) {
    .utf_panel_heading--toolbar {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
    }

    .utf_panel_heading--toolbar .utf_panel_title {
        margin-bottom: 16px;
    }

    .utf_panel_actions {
        margin-bottom: 16px;
        justify-content: flex-end;
    }
}

/* Tab：单行均分（覆盖 style.css 中 .nav-advance 的 max-width 与 50% 宽度） */
.utf_pub_best_panel ul.nav.nav-tabs.nav-advance.utf_best_tabs {
    max-width: none !important;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    margin: 0 !important;
    padding: 8px 4px;
    box-sizing: border-box;
}

.utf_pub_best_panel .utf_best_tabs > li {
    float: none !important;
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    text-align: center;
}

.utf_pub_best_panel .utf_best_tabs > li > a.nav-link {
    outline: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 8px;
    padding-right: 8px;
}

.utf_pub_best_panel .utf_best_tabs > li.nav-item:first-child > a.nav-link {
    border-radius: 4px 0 0 4px;
}

.utf_pub_best_panel .utf_best_tabs > li.nav-item:last-child > a.nav-link {
    border-radius: 0 4px 4px 0;
}

.utf_pub_best_panel .utf_best_tabs > li.nav-item:not(:first-child):not(:last-child) > a.nav-link {
    border-radius: 0;
}

.utf_best_tab_content {
    padding: 0 22px 22px;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.utf_pub_best_panel .utf_pub_scroll_window {
    margin: 0 22px 22px;
    flex: 1;
    min-height: 0;
}

/* —— 文献列表 —— */
.utf_pub_scroll_window {
    position: relative;
    flex: 1;
    min-height: 320px;
    max-height: 480px;
    overflow: hidden;
    border-radius: 4px;
    border: 1px solid #eaeff5;
    background: #fafbfc;
}

.utf_pub_scroll_track {
    display: flex;
    flex-direction: column;
    animation: utf_pub_marquee 55s linear infinite;
    will-change: transform;
}

.utf_pub_scroll_window:hover .utf_pub_scroll_track {
    animation-play-state: paused;
}

@keyframes utf_pub_marquee {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-50%);
    }
}

.utf_pub_scroll_block {
    flex-shrink: 0;
    padding: 12px;
}

.utf_pub_card {
    background: #ffffff;
    border-radius: 4px;
    padding: 14px 16px;
    margin-bottom: 10px;
    border: 1px solid #eaeff5;
}

.utf_pub_card:last-child {
    margin-bottom: 0;
}

.utf_pub_card__title {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    font-family: 'Poppins', sans-serif;
}

.utf_pub_card__title a {
    color: #334e6f;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.utf_pub_card__title a:hover {
    color: #47b382;
}

.utf_pub_card__doi {
    display: block;
    font-size: 12px;
    color: #47b382;
    word-break: break-all;
    margin-bottom: 6px;
    font-family: 'Montserrat', sans-serif;
}

.utf_pub_card__doi:hover {
    color: #47b382;
    text-decoration: underline;
}

.utf_pub_card__journal {
    margin: 0 0 8px;
    font-size: 13px;
    color: #707f8c;
    font-family: 'Montserrat', sans-serif;
}

.utf_pub_card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    font-size: 12px;
    color: #334e6f;
    font-family: 'Montserrat', sans-serif;
}

.utf_pub_card__meta span {
    white-space: nowrap;
}

/* —— 畅销产品列表（Tab 外观与 .nav-advance.theme-bg 一致）—— */
.utf_best_tab_content > .tab-pane.active {
    display: flex !important;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.utf_best_table_head {
    display: grid;
    grid-template-columns: 88px 1fr 28px;
    align-items: center;
    gap: 0;
    padding: 12px 12px 12px;
    font-size: 14px;
    font-weight: 600;
    color: #334e6f;
    text-transform: none;
    letter-spacing: 0;
    font-family: 'Montserrat', sans-serif;
    background: #f8f9fa;
    border-bottom: 1px solid #eaeff5;
    flex-shrink: 0;
}

.utf_best_scroll_window {
    position: relative;
    flex: 1;
    min-height: 260px;
    max-height: 360px;
    overflow: hidden;
    margin-top: 12px;
    border-radius: 4px;
    border: 1px solid #eaeff5;
    background: #ffffff;
}

.utf_best_scroll_track {
    display: flex;
    flex-direction: column;
    animation: utf_best_marquee 42s linear infinite;
    will-change: transform;
}

.utf_best_scroll_window:hover .utf_best_scroll_track {
    animation-play-state: paused;
}

.tab-pane:not(.active) .utf_best_scroll_track {
    animation-play-state: paused;
}

@keyframes utf_best_marquee {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-50%);
    }
}

.utf_best_scroll_block {
    flex-shrink: 0;
    padding: 0;
}

.utf_best_row {
    display: grid;
    grid-template-columns: 88px 1fr 24px;
    align-items: center;
    gap: 0;
    padding: 14px 10px;
    margin-bottom: 0;
    background: #ffffff;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid #eaeff5;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    transition: background 0.2s ease;
}

.utf_best_row:last-child {
    border-bottom: none;
}

.utf_best_row:hover {
    background: rgba(38, 174, 97, 0.08);
}

.utf_best_sku {
    font-weight: 600;
    color: #47b382;
}

.utf_best_name {
    color: #334e6f;
    line-height: 1.35;
    min-width: 0;
}

.utf_best_arrow {
    color: #47b382;
    font-size: 16px;
    text-align: center;
}

@media (max-width: 767px) {
    .utf_pub_scroll_window {
        max-height: 360px;
        min-height: 280px;
    }

    .utf_best_scroll_window {
        max-height: 320px;
        min-height: 220px;
    }

    .utf_pub_best_section .heading h2 {
        font-size: 24px;
    }

    .utf_panel_heading--toolbar .utf_panel_title {
        font-size: 18px;
    }

    .utf_panel_actions {
        justify-content: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .utf_pub_scroll_track,
    .utf_best_scroll_track {
        animation: none !important;
    }

    .utf_pub_scroll_window,
    .utf_best_scroll_window {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/*=====================================================================
 新增页面：技术资料 tabs / 综合搜索内容间距
=====================================================================*/
.utf-search-tab-content{
    margin-top: 20px;
}

.utf-search-pagination{
    margin-top: 30px;
}

/* 技术资料页：3 个 Tab 强制单行均分，避免 style.css 默认 50% 宽导致换行 */
ul.nav.nav-tabs.nav-advance.theme-bg.utf-tech-tabs{
    max-width: none !important;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    margin: 0 auto 25px;
    padding: 8px 4px;
    box-sizing: border-box;
}

.utf-tech-tabs > li{
    float: none !important;
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    text-align: center;
}

.utf-tech-tabs > li > a.nav-link{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 8px;
    padding-right: 8px;
}

.utf-tech-tabs > li.nav-item:first-child a.nav-link{
    border-radius:4px 0 0 4px;
}

.utf-tech-tabs > li.nav-item:last-child a.nav-link{
    border-radius:0 4px 4px 0;
}

.utf-tech-tabs > li.nav-item:not(:first-child):not(:last-child) a.nav-link{
    border-radius: 0;
}

.pagination li:first-child a, 
.pagination li:last-child a,
.pagination>li:first-child>span,
.pagination>li:last-child>span {
    border-radius: 30px;
    font-size: 14px;
}
.pagination_info{
    text-align: center;
}


#signin>.modal-dialog {
    width: 500px;
    max-width: calc(100% - 30px);
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
}
.input-group1{
    display: grid;
    grid-template-columns: 5fr 1fr;
    gap: 7px;
}
.login-code{
    height: 45px;
    cursor: pointer;
    border: 2px solid #dde6ef;
    margin: 0 !important;
}


/* 搜索样式 */

/* 纯浮动布局 不使用 space-between 左右自然对齐 */
.filter {
    overflow: hidden;
    padding: 0;
    margin: 0;
}
.float-left {
    float: left !important;
}
.float-right {
    float: right !important;
}

/* 筛选按钮样式 */
.filter a {
    display: inline-block;
    margin-right: 18px;
    padding: 4px 0;
    text-decoration: none;
    color: #444;
}
.filter a:last-child {
    margin-right: 0;
}
.filter a.active,
.filter a.currentstyle {
    color: #47b382;
    font-weight: bold;
}


 .product-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.product-header h4 {
    font-size: 20px;
    font-weight: 600;
    color: #334e6f;
    position: relative;
    padding-bottom: 10px;
    font-family: 'Poppins', sans-serif;
    margin: 0;
}

.product-header h4:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: #47b382;
}

.product-more {
    text-align: right;
}

.product-more a {
    font-size: 14px;
    font-weight: 500;
    color: #47b382;
    transition: all 0.3s ease;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
}

.product-more a:hover {
    color: #334e6f;
}


/* 分类产品 */

:root { --primary: #47b382; }

.filter.bg-light {
  background-color: #fff !important;
  border: 1px solid #ebebeb;
  border-radius: 8px;
  padding: 10px 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.option {
  display: flex;
  border-bottom: 1px dashed #eee;
  padding: 12px 0;
  position: relative;
}
.option:last-child { border-bottom: none; }
.option-title {
  width: 100px;
  font-weight: 600;
  color: #333;
  font-size: 14px;
  padding-top: 5px;
  flex-shrink: 0;
}
.filter-list-wrapper {
  flex-grow: 1;
  position: relative;
  overflow: hidden;
  height: 32px;
  transition: height 0.3s;
}
.filter-list-wrapper.expanded { height: auto !important; }
.option ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.option ul li {
  margin-bottom: 10px;
  margin-right: 8px;
}
.option ul li a {
  display: inline-block;
  padding: 3px 12px;
  color: #666;
  font-size: 13px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s;
}
.option ul li a:hover {
  color: #47b382;
  background: #f8f9fa;
}
.option ul li a.active {
  background-color: #47b382;
  color: #fff !important;
}
.btn-more {
  width: 70px;
  text-align: right;
  color: #999;
  font-size: 12px;
  cursor: pointer;
  padding-top: 5px;
  flex-shrink: 0;
  user-select: none;
}
.btn-more:hover { color: #47b382; }
.btn-more i {
  margin-left: 3px;
  font-size: 10px;
}

table thead tr {
  background: #f4f5f7;
}

@media (max-width: 768px) {
  .option {
    flex-direction: column;
    align-items: flex-start;
    padding: 10px 0;
  }
  .option-title {
    width: 100%;
    margin-bottom: 8px;
    font-size: 15px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 5px;
  }
  .filter-list-wrapper {
    width: 100%;
    height: 40px;
  }
  .option ul li a {
    padding: 8px 16px;
    font-size: 14px;
    background: #f8f8f8;
    margin-right: 6px;
  }
  .btn-more {
    margin-top: 10px;
    width: 100%;
    text-align: center;
    background: #eee;
    padding: 8px 0;
    border-radius: 4px;
  }
}



			/* 全屏加载层 - 适配你的HTML结构 */
.page_preloader {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: #ffffff;
  /* 居中核心 */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

/* 加载中文字 */
.page_preloader .label {
  font-size: 14px;
  color: #555;
  font-weight: 500;
  margin-bottom: 20px;
}

/* 你选中的 loader-3 俏皮三色跳动动画 */
.page_preloader .loader-3 {
  display: flex;
  gap: 5px;
}
.page_preloader .loader-3 span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  animation: jump 0.7s infinite alternate;
}
.page_preloader .loader-3 span:nth-child(1) {
  background: #47b382;
  animation-delay: 0s;
}
.page_preloader .loader-3 span:nth-child(2) {
  background: #47b382;
  animation-delay: 0.2s;
}
.page_preloader .loader-3 span:nth-child(3) {
  background: #47b382;
  animation-delay: 0.4s;
}

/* 动画关键帧 */
@keyframes jump {
  0% { transform: translateY(0); }
  25% { transform: translateY(-12px); }
  50% { transform: translateY(-24px); }
  75% { transform: translateY(-12px); }
  100% { transform: translateY(-24px); }
}

/* =====联系我们页面==== */

/* banner */
.contact-page .page-title.container {
  display: flex;
}
.contact-page .page-caption {
    display: flex;
    flex-direction: column;
    align-items: flex-start; 
    gap: 10px;
    margin-top: 50px;
    left: 10%;
}
.contact-page .page-title:before {
    background: rgba(0, 0, 0, 0.6);
}
.contact-page .title {
  font-size: 42px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #fff;
}
.contact-page .desc {
  margin-top: 10px;
  font-size: 16px;
  opacity: .9;
  color: #fff;
}
.contact-page .banner-btn {
  margin-top: 25px;
  display: inline-block;
  background: #ff8c2a;
  padding: 12px 32px;
  border-radius: 26px;
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  transition: .3s;
} 
.contact-page .section {
  padding: 60px 0 30px;
  text-align: center;
}
.contact-page .section h2 {
  letter-spacing: 6px;
}
.contact-page .section p.section-desc {
  font-size: 16px;
  color: #666;
  margin-bottom: 40px;
}

/* ========== 联系卡片样式 ========== */
.contact-card {
    background-color: #ffffff;
    border: none;
    /* border-bottom: 2px solid #327757; */
    padding: 24px 16px;
    text-align: center;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 350px;
    position: relative;
    top: 20px;
}

.contact-card:hover {
    background-color: #ffffff;
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}
.contact-card::after {
    content: "";
    position: relative;
    bottom: -15px;
    height: 2px;
    background-color: #47b382;
}
       
.region-info {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.region-icon {
    width: 24px;
    height: 24px;
    margin-right: 8px;
    flex-shrink: 0;
}

.region-icon i {
    font-size: 16px;
    color: #333333;
}

.region-name {
    font-size: 18px;
    color: #333333;
    line-height: 1.4;
}

 /* ========== 联系人主体区域 ========== */
.contact-body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.contact-details {
    flex: 1;
}

.detail-item {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.detail-item:last-child {
    margin-bottom: 0;
}

.detail-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    flex-shrink: 0;
    color: #333333;
}

.detail-icon svg {
    width: 100%;
    height: 100%;
}

.detail-text {
    font-size: 16px;
    color: #333333;
}

/* ========== 二维码区域 ========== */
.qr-code {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    margin-left: 10px;
    background: #FFFFFF;
    border: 1px solid #E0E0E0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -20px;
}

.qr-code img {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

/* ========== 搜索框样式 ========== */
.search-box-container {
    display: flex;
    max-width: 800px;
    margin: 0 auto;
    border: 1px solid #333;
    border-radius: 4px;
    overflow: hidden;
}

.search-box-container .search-input {
    flex: 1;
    padding: 10px 15px;
    border: none;
    outline: none;
    font-size: 14px;
    letter-spacing: 4px;
}

.search-box-container .search-input::placeholder {
    color: #999;
}

.search-box-container .search-btn {
    padding: 10px 20px;
    background-color: #fff;
    border: none;
    /* border-left: 1px solid #ddd; */
    cursor: pointer;
    color: #333;
    transition: color 0.3s;
}

.search-box-container .search-btn:hover {
    color: #333;
}

.search-box-container .search-btn i {
    font-size: 20px;
}

/* 纯浮动布局 不使用 space-between 左右自然对齐 */
.filter {
    overflow: hidden;
    padding: 0;
    margin: 0;
}
.float-left {
    float: left !important;
}
.float-right {
    float: right !important;
}

/*订单流程图样式*/
.contact-page .contact-list {
    display: flex;
    justify-content: center;

}
 .contact-list .card img {
    margin-bottom: 10px;
}
.contact-list .card .card-text {
  font-size: 16px;
  color: #555;
  letter-spacing: 8px;
}

.contact-page .card:hover .card-text {
  font-size: 16px;
  color: #333;
  font-weight: 600;
  letter-spacing: 8px;
}

.contact-page .card-img-white {
    display: none;
}
.contact-page .card:hover .card-img-white {
    display: block;
}
.contact-page .card:hover .card-img {
    display: none;
}
.contact-page .card.active img {
  filter: brightness(10);
  opacity: 1;
}
.contact-page .statement span{
    font-size: 24px;
    color: #47b382;
    letter-spacing: 8px;
}
.contact-page .section-title {
    font-size: 30px;
    margin-bottom: 20px;
    color: #333;
    font-weight: 600;
    letter-spacing: 8px;
}
/* 建议与投诉卡片样式 */
.suggestion-card {
    display: flex;
    justify-content: center;
    gap: 100px; 
    flex-wrap: wrap;
}

/*产品声明样式*/
.statement-tip {
    color: red;
    font-size: 16px;
}
.statement-content {
    font-size: 16px;
    padding-left: 0;
    margin: 0;
    text-align: left;
    margin-bottom: 12px;
}
.statement-content li {
    margin-bottom: 12px;
    color: #555;
}

/*产品声明logo样式*/
.statement-list {
    display: flex;
    justify-content: center;
    gap: 200px;
}
.statement-list .card {
  width: 190px;
  height: 140px;
  border-radius: 12px;
  border: 2px solid #ddd;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: .25s;
  cursor: pointer;
  background: #fff;
}
.statement-list .card img {
  width: 80px;
  margin-bottom: 10px;
}
.statement-list .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  background-color: #47b382;
  border: 1px solid #47b382;
}
.statement-list .card:hover .card-text {
    font-size: 16px;
  color: #fff;
}
.statement-list .card .card-text {
    font-size: 16px;
    color: #555;
    letter-spacing: 8px;
}

/* ========== 响应式 ========== */
@media (max-width: 480px) {
.contact-page .section-title {
    font-size: 26px;
}
.contact-page .title {    
    font-size: 26px;
}
.contact-page .section p.section-desc {
    font-size: 14px;
}
/* ========== 产品声明logo样式 ========== */
.statement-list {
    display: flex;
    justify-content: space-evenly;
    gap: 20px;
    flex-direction: column;
    align-content: center;
    align-items: center; 
}
.contact-page .contact-list {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-content: center;
    align-items: center;
}
}

@media (max-width: 1199px) {
.statement-list {
    gap: 20px;
}
.statement-list .card img {
    width: 60px;
    margin-bottom: 10px;
}
.statement-list .card {
    width: 170px;
    height: 120px;
}
}

/* 分类产品 列表筛选 */
:root { --primary: #47b382; --text: #333; --light-bg: #f8f9fa; }
.filter-toolbar {
    background: #fff;
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    position: sticky;
    top: 0;
    z-index: 100;
    margin-bottom:20px;
    border-radius:8px;
}
.active-filters { display: flex; gap: 8px; flex-wrap: wrap; flex-grow: 1; margin-right:15px; align-items:center; }
.filter-tag {
    background: #e6f7ed;
    color: var(--primary);
    padding: 4px 10px;
    border-radius: 4px;
    font-size:12px;
    border:1px solid var(--primary);
    cursor:pointer;
}
.no-filter{color:#999;font-size:13px;}

/* 打开筛选抽屉 */
.btn-open-filter {
    background: var(--primary);
    color: #fff;
    padding: 6px 16px;
    border-radius: 4px;
    cursor: pointer;
    border: none;
    font-size:13px;
    display:flex;
    align-items:center;
    gap:5px;
}
.filter-drawer {
    position: fixed;
    top: 0;
    right: -100%;
    width: 400px;
    max-width: 85%;
    height: 100%;
    background: #fff;
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
    transition: 0.4s cubic-bezier(0.4,0,0.2,1);
    z-index: 1001;
    display: flex;
    flex-direction: column;
}
.filter-drawer.open { right:0; }
.drawer-header { padding:18px 20px; border-bottom:1px solid #eee; display:flex; justify-content:space-between; align-items:center; }
.drawer-header h3 { margin:0; font-size:16px; font-weight:bold; }
.btn-close-filter {
    background:none;
    border:none;
    font-size:18px;
    cursor:pointer;
    color:#666;
}
.drawer-body { flex-grow:1; overflow-y:auto; padding:0 20px; }
.drawer-footer { padding:18px 20px; border-top:1px solid #eee; display:flex; gap:10px; }
.drawer-footer .btn {
    flex:1;
    padding:8px 0;
    border-radius:4px;
    border:none;
    font-size:14px;
    cursor:pointer;
}
.drawer-footer .btn-secondary {
    background:#f8f9fa;
    color:#333;
    border:1px solid #ddd;
}
.drawer-footer .btn-primary {
    background:var(--primary);
    color:#fff;
}
.filter-group { margin-bottom:20px; border-bottom:1px solid #f9f9f9; padding-bottom:15px; }
.group-title {
    font-weight:bold;
    margin:15px 0 10px;
    display:flex;
    justify-content:space-between;
    font-size:14px;
    cursor:pointer;
}
.group-title::after {
    content: '▼';
    font-size:10px;
    transition: transform 0.3s;
}
.group-title.collapsed::after {
    transform: rotate(-90deg);
}
.filter-search {
    width:100%;
    padding:7px 10px;
    border:1px solid #ddd;
    border-radius:4px;
    margin-bottom:10px;
    box-sizing:border-box;
    outline:none;
    font-size:13px;
}
.options-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    max-height:220px;
    overflow-y:auto;
}
.option-item {
    font-size:12px;
    padding:7px;
    background:#f9f9f9;
    border-radius:4px;
    text-align:center;
    border:1px solid transparent;
    transition:0.2s;
    cursor:pointer;
    color:#666;
}
.option-item a {
    text-decoration:none;
    color:inherit;
    display:block;
}
.option-item.active {
    border-color:var(--primary);
    color:var(--primary);
    background:#e6f7ed;
    font-weight:bold;
}
.overlay {
    position:fixed;
    top:0; left:0;
    width:100%; height:100%;
    background:rgba(0,0,0,0.5);
    display:none;
    z-index:1000;
}
@media(max-width:480px){ .filter-drawer{width:100%;} }
.filter.bg-light {
    background-color: #fff !important;
    border: 1px solid #ebebeb;
    border-radius: 8px;
    padding: 10px 20px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.option {
    display: flex;
    border-bottom: 1px dashed #eee;
    padding: 12px 0;
    position: relative;
}
.option:last-child { border-bottom: none; }
.option-title {
    width: 100px;
    font-weight: 600;
    color: #333;
    font-size: 14px;
    padding-top: 5px;
    flex-shrink: 0;
}
.filter-list-wrapper {
    flex-grow: 1;
    position: relative;
    overflow: hidden;
    height: 32px;
    transition: height 0.3s;
}
.filter-list-wrapper.expanded { height: auto !important; }
.option ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}
.option ul li { margin-bottom: 10px; margin-right: 8px; }
.option ul li a {
    display: inline-block;
    padding: 3px 12px;
    color: #444;
    font-size: 13px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s;
}
.option ul li a:hover { color: #47b382; background: #f8f9fa; }
.option ul li a.active {
    background-color: #47b382;
    color: #fff !important;
}
.btn-more {
    width: 70px;
    text-align: right;
    color: #999;
    font-size: 12px;
    cursor: pointer;
    padding-top: 5px;
    flex-shrink: 0;
    user-select: none;
}
.btn-more:hover { color: #47b382; }
.btn-more i { margin-left: 3px; font-size: 10px; }
@media (max-width: 768px) {
    .option { flex-direction: column; align-items: flex-start; padding:10px 0; }
    .option-title { width:100%; margin-bottom:8px; font-size:15px; border-bottom:1px solid #f0f0f0; padding-bottom:5px; }
    .filter-list-wrapper { width:100%; height:40px; }
    .option ul li a { padding:8px 16px; font-size:14px; background:#f8f8f8; margin-right:6px; }
    .btn-more { margin-top:10px; width:100%; text-align:center; background:#eee; padding:8px 0; border-radius:4px; }
} 

/*------------新加 All Job Components: Vertical Job ------------*/
.job-verticle-item {
	width: 100%;
	border-bottom: 1px solid #f0f0f0;
}

.job-verticle-item:last-child {
	border-bottom: none;
}

.job-card {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0;
}

.job-info {
	flex: 1;
}

.job-info h5 {
	font-weight: 600;
	color: #333;
	margin-bottom: 8px;
}

.job-info h5 a {
	color: #333;
	text-decoration: none;
}

.job-info h5 a:hover {
	color: #28a745;
}

.job-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	color: #666;
}

.post-meta {
	display: flex;
	align-items: center;
	gap: 15px;
	color: #666;
}

/** 分隔线 */
.split-line {
    display: flex;
    width: 1px;
    height: 12px;
    background-color: #666666;
    margin-top: 5px;
}

.job-actions {
	margin-left: 30px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

.btn-success {
    color: #fff;
	background-color: #47b382;
	border-color: #47b382;
	padding: 8px 24px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
}

.btn-success:hover, .btn-success:focus {
    color: #fff;
    border: 1px solid #47b382;
	background-color: #47b382;
	border-color: #47b382;
}


.job-list-container {
	background: #ffffff;
	border-radius: 8px;
	border: 1px solid #eaeff5;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	overflow: hidden;
	padding: 0 20px;
}   

/**必填红点 */
.required:before {
    content: "*";
    display: inline-block;
    font-family: SimSun;
    margin-right: 4px;
    font-size: 14px;
    line-height: 1;
    color: #ed4014;
}

/* 通用: 按钮 */
.btn.btn.btn-primary {
	border: 1px solid #47b382;
	border-radius: 6px;
	width: 100%;
	height: 46px;
	background: #47b382;
	text-transform: capitalize;
	font-size: 16px;
}
.btn.btn-primary:hover, .btn.btn-primary:focus {
	border: 1px solid #47b382;
	border-radius: 6px;
	width: 100%;
	height: 46px;
	background: #47b382;
	text-transform: capitalize;
	font-size: 16px;
}
/* 移动端自适应：屏幕小于 768px 时按钮全屏 */
@media (max-width: 768px) {
  .btn.btn-primary {
    width: 100% !important;
  }
}

/** 小按钮 */
.btn.btn-small{
    border: 1px solid #47b382;
	border-radius: 6px;
    width: 10%;
    height: 46px;
	background: #47b382;
	text-transform: capitalize;
	font-size: 16px;
}
.btn.btn-small:hover {
    border: 1px solid #47b382;
	border-radius: 6px;
    width: 10%;
    height: 46px;
	background: #47b382;
	text-transform: capitalize;
	font-size: 16px;
}
.btn-small{
    color: #fff;
}
.btn-small:hover, .btn-small:focus {
    color:#fff;
    background: #47b382;
}
/* 移动端自适应：屏幕小于 768px 时按钮全屏 */
@media (max-width: 768px) {
  .btn.btn-small {
    width: 100% !important;
  }
}


/** 个人资料编辑按钮 */
.btn.btn-primary.btn-edit {
  height: 40px;
  width: 40%;
}

.btn.btn-m {
    padding: 12px;
}
.btn.btn-cancel {
    height: 38px;
    width: 80px;
    background: #ccc;
}
.btn.btn-reset {
    height: 46px;
    width: 10%;
    font-size: 14px;
}
/** 底部相关岗位切换样式 */

.bc-related-post {
    background: #f5f5f5;
    padding: 15px 20px 12px;
    margin-bottom: 65px;
}
.bc-related-post .previous-post, .bc-related-post .next-post {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 700;
}

.bc-related-post .next-post {
    float: right;
}

/* 卡片公共样式 */
.card-box {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #eaeff5;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 20px;
  margin-bottom: 20px;
}

/* 标题公共样式（左侧绿色小竖线） */
.card-title {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: center;
}
.card-title::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 20px;
  background-color: #47b382;
  margin-right: 10px;
}

/* 岗位信息文本样式 */
.text-desc {
  margin: 0 0 10px 0;
  color: #666;
}

/** 账号绑定表格样式 */
.bind-account .table-responsive table {
    border: 1px solid #eaeff5;
}

/*--------------- Gap Style间距 --------------------*/
.gap-60 {
    clear: both;
    height: 60px;
}

.gap-40 {
    clear: both;
    height: 40px;
}

.gap-30 {
    clear: both;
    height: 30px;
}

.gap-20 {
    clear: both;
    height: 20px;
}

#frm-avatar {
    padding-left: 52px;
}
.upload-avatar {
    position: absolute;
    right: 14px;
    line-height: 2.2;
    border: 2px solid #dde6ef;
    background: #dde6ef;
}
.upload-avatar-view img{
    position: absolute;
    top: -69px;
    left: 17px;
    width: 48px;
}
.upload-avatar-view .btn{
    position: absolute;
    padding: 3px;
    font-size: 7px;
    left: 49px;
    z-index: 2;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    top: -69px;
}



/* 学术与产品精选 */
.select-section {
    padding: 4em 0 3em 0;
    background: #fff;
}
.section-title{
    text-align: center;
}
.select-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
/* ==================== 文献滚动 ==================== */
.paper-scroll {
    height: 400px;
    overflow: hidden;
    border: 1px solid #f0f0f0;
    border-radius: 4px;
}
.paper-scroll > div {
    animation: paperScroll 10s linear infinite;
}
.paper-scroll:hover > div {
    animation-play-state: paused !important;
}
.paper-item {
    padding: 12px 15px;
    border-bottom: 1px solid #f5f5f5;
    font-size: 13px;
}
.paper-item:last-child {
    border-bottom: none;
}
.paper-title {
    color: #333;
    margin-bottom: 6px;
    line-height: 1.5;
}
.paper-info {
    color: #999;
    font-size: 12px;
}

.paper-item:hover {
    background: #f1f1f1;
}
.paper-item:hover .paper-title {
    color: #47b382;
}

/* ==================== 产品TAB样式 ==================== */
.product-tabs {
    display: flex;
    row-gap: 5px;
    flex-wrap: wrap;
    border-bottom: 0 !important;
    margin-bottom: 0;
    border: none;
}
.product-tabs .nav-link {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
.product-tab {
    padding: 6px 20px;
    border-radius: 4px 4px 0 0;
    font-size: 14px;
    cursor: pointer;
    background: #f0f0f0;
}
.nav-item.active > .nav-link > .product-tab {
    background: #47b382 !important;
    color: #fff !important;
}

/* ==================== 产品表格 ==================== */
.product-table-box {
    border: 1px solid #eee;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
    position: relative;
}
.product-header {
    display: flex;
    background: #f8f9fa;
    padding: 10px 15px;
    font-weight: 500;
    font-size: 14px;
    border-bottom: 1px solid #eee;
	margin-bottom: 0px;
}
.product-header .col-no {
    width: 80px;
}
.product-header .col-name {
    flex: 1;
}
.product-table-box .fade{
	padding: 0;
}
.product-item {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    font-size: 14px;
    border-bottom: 1px solid #f7f7f7;
}
.product-item:hover {
    color: #47b382;
    background: #f7f7f7;
}
.product-no {
    width: 80px;
}
.product-name {
    flex: 1;
}
.product-arrow {
    color: #47b382;
    margin-left: 10px;
}

/* ==================== 纯CSS TAB切换 不中断动画 ==================== */
.tab-content {
    position: relative;
}
.tab-pane {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}
.tab-pane.active {
    position: relative;
    opacity: 1;
    pointer-events: all;
}

/* ==================== 产品滚动：悬浮暂停 + 纯CSS切换 ==================== */
/* 产品滚动容器 */
.product-roll-box {
  overflow: hidden;
  height: 320px;
  position: relative;
}

/* 滚动动画默认运行 */
.roll-list {
  animation: productScroll 40s linear infinite;
}

/* 🔥 悬停暂停：权重拉满，绝对生效 */
.product-roll-box:hover .roll-list,
.tab-pane.active .product-roll-box:hover .roll-list {
  animation-play-state: paused !important;
}

/* 只有激活的tab才运行，未激活暂停 */
.tab-pane.active .roll-list {
  animation-play-state: running !important;
}
.tab-pane:not(.active) .roll-list {
  animation-play-state: paused !important;
}


/* 动画 */
@keyframes paperScroll {
    0% { transform: translateY(0); }
    100% { transform: translateY(-100%); }
}
@keyframes productScroll {
    0% { transform: translateY(0); }
    100% { transform: translateY(-100%); }
}

/* ==================== 响应式 ==================== */
@media (max-width: 768px) {
    .select-wrap {
        grid-template-columns: 1fr;
    }

    .utf_news_content img {
        width: 100%;
        height: auto;
    }
}


/* 文献列表搜索框样式 */
.search-wrapper {
    margin-bottom: 1.5rem !important;
}
.search-input-group {
    display: flex;
    align-items: center;
    width: 100%;
}
.search-input-wrap {
    position: relative;
    flex: 1;
    margin-right: 0;
}
.search-input {
    width: 100%;
    height: 50px;
    padding: 0 15px 0 40px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: all 0.3s;
}
.search-input:focus {
    border-color: #47b382 !important;
    box-shadow: 0 0 0 0.2rem rgba(38, 174, 97, 0.25) !important;
    outline: none;
}
.search-wrapper .search-btn {
    background-color: #47b382 !important;
    color: #fff !important;
    border-radius: 4px !important;
    border: 1px solid #47b382 !important;
    cursor: pointer;
    white-space: nowrap;
    height: 50px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 14px;
    margin-left: 10px;
    margin-top: -18px;
}
.search-wrapper .search-btn:hover {
    background-color: #1e9652 !important;
    border-color: #1e9652 !important;
}

.table-wrapper {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.search-icon-references {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    pointer-events: none;
    font-size: 16px;
    margin-top: -10px;
}

/* 表头 统一行高 */
.table-wrapper .table-lg.table-hover thead th {
  padding: 14px 8px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 文献详情页样式 */
.literature-detail {
    padding-top: 30px;
    padding-bottom: 60px;
    background-color: #fff;
    box-shadow: 0 5px 15px 0 rgba(41, 128, 185, 0.1);
}
.literature-detail .title {
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    color: #333;
}
.literature-detail .info-item {
    display: flex;
    margin-bottom: 14px;
    font-size: 15px;
}
.literature-detail .info-label {
    min-width: 100px;
    font-weight: 600;
    color: #555;
    margin-left: 20px;
}
.literature-detail .info-value {
    color: #333;
    flex: 1;
}
.literature-detail .if-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background-color: #47b382;
}
.literature-detail .doi-link {
    color: #007bff;
    word-break: break-all;
}
.literature-detail .summary-box {
    padding: 18px;
    border-left: 4px solid #47b382;
    line-height: 1.8;
    color: #444;
    margin-left: 20px;
}
/* ================= 科研服务页面 ================= */

/* ================= Banner ================= */
.service-page .page-title.container {
  display: flex;
}
.service-page .page-caption {
  display: flex;
  flex-direction: column;
  align-items: flex-start; 
  gap: 10px;
  margin-top: 50px;
  left: 10%;
}
/*.service-page .page-title:before {*/
/*    background: none;*/
/*}*/
.service-page .title {
  font-size: 42px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #fff;
}
.service-page .desc {
  margin-top: 10px;
  font-size: 16px;
  opacity: .9;
  color: #fff;
}
.service-page .banner-btn {
  margin-top: 25px;
  display: inline-block;
  background: #ff8c2a;
  padding: 12px 32px;
  border-radius: 26px;
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  transition: .3s;
}

/* ================= 服务类型 ================= */
.service-page .section {
  /*padding: 60px 0 30px;*/
}
.service-page .section-title {
    font-size: 30px;
    margin-bottom: 20px;
    color: #333;
    font-weight: 600;
    letter-spacing: 8px;
    padding: 30px;
    }
.service-page .section p.section-desc {
  font-size: 18px;
  color: #777;
  margin-bottom: 40px;
  text-align: center;
}

/* ================= 卡片列表 ================= */
.service-page .service-list {
  display: flex;
  justify-content: center;
  gap: 200px;
}
.service-page .card {
  width: 200px;
  height: 160px;
  border-radius: 12px;
  border: 2px solid #ddd;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: .25s;
  cursor: pointer;
  background: #fff;
}
.service-page .card img {
  width: 100px;
  margin-bottom: 10px;
}
.service-page .card span {
  font-size: 16px;
  color: #555;
}
.service-page .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  background-color: #47b382;
  border: 1px solid #47b382;
}
.service-page .card:hover .card-text {
  color: #fff;
}

.service-page .card-img-white {
    display: none;
}
.service-page .card:hover .card-img-white {
    display: block;
}
.service-page .card:hover .card-img {
    display: none;
}
.service-page .card.active img {
  filter: brightness(10);
  opacity: 1;
}

/* ================= 报价横幅 ================= */
.service-page .Inquiry-img {
    /* margin-left: -100px; */
    max-width: 100%;
}

/* ================= 模块 ================= */
.service-page .block {
    /*margin-top: 50px;*/
    text-align: left;
    padding-top: 20px;
}
.service-page .block-title {
    display: inline-block;
    background: #47b382;
    color: #fff;
    padding: 8px 36px;
    border-radius: 4px;
    font-size: 16px;
    margin-bottom: 15px;
    margin-left: 20px;
}
.service-page .line {
    height: 1px;
    background: #47b382;
    margin-bottom: 20px;
}
.service-page .text {
    font-size: 16px;
    line-height: 26px;
    color: #555;
    margin-bottom: 20px;
    margin-left: 40px;
}

/* 标签 */
.service-page .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 15px 0 20px;  
}
.service-page .tag {
    padding: 10px 90px;
    border: 1px solid #333;
    color: #555;
    margin-left: 20px;
    width: 300px;
}

/* 流程图 */
.service-page .process {
    text-align: center;
    margin-top: 20px;
}
.service-page .process img {
    max-width: 800px;
    width: 100%;
}

/* 表格 */
.service-page table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    font-size: 16px;
    margin-left: 20px;
    color: #555;
}
.service-page th,
.service-page td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: center;
}
.service-page th {
    background: #f3f3f3;
}

/* ===================================================== */
/* =================== 响应式 ======================= */
/* ===================================================== */
@media (max-width: 992px) {
.service-page .page-caption {
    left: 3%;
}

.service-page .header-inner {
    width: 90%;
    top: 100px;
}
.service-page .service-list {
    flex-wrap: wrap;
    gap: 30px;
}
.service-page .Inquiry-img {
    margin-left: 0px;
    max-width: 100%;
}
.service-page .process img {
    max-width: 100%;
}
.service-page .Inquiry-img {
    max-width: 100%;
}
.service-page .block {
    padding-top: 20px;
}
}

@media (max-width: 767px) {
.service-page .section-title {
font-size: 26px;
}
.section p.section-desc {
font-size: 14px;
}
.service-page .page-caption {
    left: 5%;
}
.service-page .header {
    height: 360px;
}
.service-page .header-inner {
  text-align: center;
  top: 90px;
}
.service-page .title {
    font-size: 28px;
}
.service-page .desc {
    font-size: 14px;
}
.service-page .btn {
    padding: 10px 24px;
}
.service-page .service-list {
    flex-direction: column;
    align-items: center;
}
.service-page .card {     
    width: 160px;
    height: 120px;
}
.service-page .card img {
    width: 60px;
}
.service-page .card span {
    font-size: 14px;
}
.service-page .Inquiry-img {
    max-width: 100%;
}
.service-page .block {
    margin-top: 40px;
    text-align: left;
}
.service-page .text {
    font-size: 13px;
}
.service-page table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
}
.service-page .block {
    padding-top: 20px;
}
}



/* 购物车 */
/* ========== 基础布局 ========== */
.checkout-container {
	padding: 60px 0;
}

.checkout-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 5px 20px rgba(0,0,0,0.05);
	padding: 30px;
	margin-bottom: 30px;
}

  /* 卡片头部：标题 + 按钮 一左一右 */
.card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
	padding-bottom: 15px;
	border-bottom: 1px solid #f1f2f6;
}

.card-header h3 {
	font-size: 20px;
	font-weight: 700;
	color: #333;
	margin: 0;
	padding: 0;
	border: none;
}

.btn-add-addr {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border: 1px solid #26ae61;
	border-radius: 6px;
	color: #26ae61;
	font-size: 13px;
	cursor: pointer;
	transition: all 0.2s;
	background: #fff;
	font-weight: 600;
}

.btn-add-addr:hover {
	background: #26ae61;
	color: #fff;
}

.btn-add-addr i {
	font-size: 14px;
}

  /* ========== 地址列表 ========== */
.address-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.address-item {
	border: 1px solid #dfe4ea;
	border-radius: 6px;
	padding: 15px;
	cursor: pointer;
	transition: all 0.2s;
	position: relative;
}

.address-item:hover {
	border-color: #26ae61;
}

.address-item.active {
	border-color: #26ae61;
	background: #f0fdf4;
}

.address-item .addr-tag {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 12px;
	margin-left: 8px;
}

.addr-tag.default {
	background: #26ae61;
	color: #fff;
	position: absolute;
	right: 15px;
	top: 5px;
}

.address-item .addr-actions {
	position: absolute;
	right: 15px;
	top: 70%;
	transform: translateY(-50%);
	display: flex;
	gap: 8px;
	opacity: 0;
	transition: opacity 0.2s;
}

.address-item:hover .addr-actions {
	opacity: 1;
}

.addr-actions span {
	font-size: 12px;
	color: #26ae61;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 3px;
}

.addr-actions span:hover {
	background: rgba(38,174,97,0.1);
}

.addr-actions .addr-delete {
	color: #ff4d4f;
}

.addr-actions .addr-delete:hover {
	background: rgba(255,77,79,0.1);
}

.addr-name {
	font-weight: 600;
	color: #333;
	font-size: 15px;
	margin-bottom: 4px;
}

.addr-phone {
	color: #707f8c;
	font-size: 13px;
	margin-left: 10px;
}

.addr-detail {
	color: #777;
	font-size: 13px;
	line-height: 1.5;
}

  /* ========== 商品列表 ========== */
.checkout-item {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 15px 0;
	border-bottom: 1px solid #f1f2f6;
}

.checkout-item:last-child {
	border-bottom: none;
}

.checkout-item-checkbox {
	width: 18px;
	height: 18px;
	cursor: pointer;
	accent-color: #26ae61;
}

.checkout-item-info {
	flex: 1;
}

.checkout-item-title {
	font-size: 15px;
	font-weight: 600;
	color: #334e6f;
	margin-bottom: 5px;
}

.checkout-item-spec {
	font-size: 13px;
	color: #a4b0be;
}

.checkout-item-actions {
	display: flex;
	align-items: center;
	gap: 15px;
}

  /* 数量控件 */
.qty-control {
	display: inline-flex;
	align-items: center;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	overflow: hidden;
}

.qty-btn {
	width: 32px;
	height: 32px;
	border: none;
	background: #f5f5f5;
	color: #333;
	font-size: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
	user-select: none;
}

.qty-btn:hover {
	background: #e8e8e8;
}

.qty-btn:active {
	background: #ddd;
}

.qty-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.qty-input {
	width: 45px;
	height: 32px;
	border: none;
	border-left: 1px solid #e0e0e0;
	border-right: 1px solid #e0e0e0;
	text-align: center;
	font-size: 14px;
	color: #333;
	background: #fff;
	outline: none;
}

  /* 删除按钮 */
.btn-delete {
	color: #ff4d4f;
	font-size: 13px;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 4px;
	transition: all 0.2s;
}

.btn-delete:hover {
	background: #fff1f0;
}

.btn-delete i {
	margin-right: 4px;
}

  /* 小计 */
.item-subtotal {
	color: #26ae61;
	font-weight: 700;
	font-size: 15px;
	min-width: 90px;
	text-align: right;
}

  /* 全选 */
.select-all-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 15px;
	border-bottom: 1px solid #f1f2f6;
	margin-bottom: 10px;
}

.select-all-row input {
	width: 18px;
	height: 18px;
	accent-color: #26ae61;
}

.select-all-row label {
	color: #334e6f;
	font-size: 14px;
	cursor: pointer;
}

.selected-count {
	color: #26ae61;
	font-weight: 600;
}

  /* ========== 弹窗 ========== */
.modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 10001;
	align-items: center;
	justify-content: center;
}

.modal-overlay.active {
	display: flex;
}

.modal-box {
	background: #fff;
	border-radius: 8px;
	width: 100%;
	max-width: 560px;
	max-height: 90vh;
	overflow-y: auto;
	padding: 30px;
	position: relative;
}

.modal-title {
	font-size: 18px;
	font-weight: 700;
	color: #333;
	margin-bottom: 20px;
}

.modal-close {
	position: absolute;
	right: 20px;
	top: 20px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	background: #f5f5f5;
	color: #707f8c;
	cursor: pointer;
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
}

.modal-close:hover {
	background: #e8e8e8;
}

.form-group {
	margin-bottom: 15px;
}

/*.form-group label {*/
/*	font-weight: 600;*/
/*	color: #334e6f;*/
/*	margin-bottom: 8px;*/
/*	display: block;*/
/*	font-size: 14px;*/
/*}*/

/*.form-group .form-control {*/
/*	width: 100%;*/
/*	height: 44px;*/
/*	border-radius: 6px;*/
/*	border: 1px solid #dfe4ea;*/
/*	padding: 0 12px;*/
/*	font-size: 14px;*/
/*	transition: border-color 0.2s;*/
/*	outline: none;*/
/*	box-sizing: border-box;*/
/*}*/

.form-group .form-control:focus {
	border-color: #26ae61;
}

.form-group textarea.form-control {
	height: auto;
	padding: 12px;
	min-height: 80px;
	resize: vertical;
}

.form-row {
	display: flex;
	gap: 15px;
}

.form-row .form-group {
	flex: 1;
}

.checkbox-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
}

.checkbox-row input {
	width: 16px;
	height: 16px;
	accent-color: #26ae61;
}

.checkbox-row label {
	margin: 0;
	font-weight: normal;
	color: #707f8c;
	font-size: 14px;
}

  /* ========== 订单摘要 ========== */
.summary-row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 15px;
	font-size: 15px;
	/*color: #707f8c;*/
}

.summary-row.total {
	border-top: 1px solid #f1f2f6;
	padding-top: 20px;
	margin-top: 20px;
	color: #333;
	font-weight: 700;
	font-size: 20px;
}

.summary-row.total .price {
	color: #26ae61;
}

.btn-place-order {
	height: 50px;
	font-size: 16px;
	font-weight: 700;
	border-radius: 4px;
	margin-top: 20px;
	width: 100%;
	border: none;
	background: #47b382;
	color: #fff;
	cursor: pointer;
	transition: all 0.2s;
}

.btn-place-order:hover {
	background: #219a52;
}

.btn-place-order:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

  /* 支付成功 */
#success-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.95);
	z-index: 10000;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.success-icon {
	width: 80px;
	height: 80px;
	background: #26ae61;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px;
	margin-bottom: 20px;
	animation: scaleIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes scaleIn {
	from {
		transform: scale(0);
	}

	to {
		transform: scale(1);
	}
}

  /* 空购物车 */
#empty-cart-msg {
	display: none;
	text-align: center;
	padding: 100px 0;
}

  /* 商品图片占位 */
.item-thumb {
	width: 60px;
	height: 60px;
	border-radius: 6px;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #a4b0be;
	font-size: 24px;
	flex-shrink: 0;
}

@media (max-width: 768px) {

  /* 页面整体 */
	.checkout-container {
		padding: 20px 0;
	}

	.checkout-card {
		padding: 15px;
		margin-bottom: 15px;
		border-radius: 6px;
	}

  /* 卡片头 */
	.card-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.card-header h3 {
		font-size: 18px;
	}

	.btn-add-addr {
		width: 100%;
		justify-content: center;
	}

  /* 地址 */
	.address-item {
		padding: 14px;
	}

	.addr-name {
		font-size: 14px;
		padding-right: 60px;
	}

	.addr-phone {
		display: block;
		margin-left: 0;
		margin-top: 4px;
	}

	.addr-detail {
		font-size: 12px;
		margin-top: 6px;
		padding-right: 0;
	}

  /* 默认标签 */
	.addr-tag.default {
		right: 10px;
		top: 10px;
		font-size: 11px;
	}

  /* 地址操作按钮 */
	.address-item .addr-actions {
		position: static;
		transform: none;
		opacity: 1;
		margin-top: 12px;
		flex-wrap: wrap;
	}

	.addr-actions span {
		background: #f5f5f5;
	}

  /* 商品项 */
	.checkout-item {
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 10px;
		position: relative;
		padding: 15px 0;
	}

	.checkout-item-checkbox {
		margin-top: 20px;
	}

	.item-thumb {
		width: 52px;
		height: 52px;
		font-size: 20px;
	}

	.checkout-item-info {
		width: calc(100% - 90px);
	}

	.checkout-item-title {
		font-size: 14px;
		line-height: 1.5;
	}

	.checkout-item-spec {
		font-size: 12px;
		margin-top: 4px;
	}

  /* 商品操作区域 */
	.checkout-item-actions {
		width: 100%;
		justify-content: space-between;
		align-items: center;
		margin-top: 10px;
		padding-left: 30px;
		flex-wrap: wrap;
		gap: 10px;
	}

  /* 数量控件 */
	.qty-control {
		transform: scale(0.95);
		transform-origin: left center;
	}

	.qty-btn {
		width: 30px;
		height: 30px;
	}

	.qty-input {
		width: 40px;
		height: 30px;
	}

  /* 小计 */
	.item-subtotal {
		min-width: auto;
		font-size: 14px;
	}

  /* 删除按钮 */
	.btn-delete {
		padding: 0;
		font-size: 12px;
	}

  /* 全选区域 */
	.select-all-row {
		padding-bottom: 12px;
		margin-bottom: 5px;
	}

  /* 摘要 */
	.summary-row {
		font-size: 14px;
	}

	.summary-row.total {
		font-size: 18px;
	}

  /* 提交按钮 */
	.btn-place-order {
		height: 46px;
		font-size: 15px;
	}

  /* 弹窗 */
	.modal-overlay {
		padding: 15px;
		align-items: flex-start;
		overflow-y: auto;
	}

	.modal-box {
		width: 100%;
		max-width: 100%;
		margin-top: 30px;
		padding: 20px 15px;
		border-radius: 8px;
	}

	.modal-title {
		font-size: 16px;
		padding-right: 30px;
	}

	.modal-close {
		right: 12px;
		top: 12px;
	}

  /* 表单 */
	.form-row {
		flex-direction: column;
		gap: 0;
	}

	.form-group {
		margin-bottom: 15px;
	}

	.form-group .form-control {
		height: 42px;
		font-size: 14px;
	}

	textarea.form-control {
		min-height: 70px;
	}

  /* 成功页面 */
	.success-icon {
		width: 65px;
		height: 65px;
		font-size: 32px;
	}

	#success-overlay h2 {
		font-size: 22px;
	}

	#success-overlay p {
		font-size: 14px;
		padding: 0 20px;
	}

	#success-overlay > div:last-child {
		flex-direction: column;
		width: 80%;
	}

	#success-overlay a {
		width: 100%;
	}
}