/* ======== FILE: style.css ======== */
/*--
Author: W3layouts
Author URL: http://w3layouts.com
--*/
.siderbar {
	padding: 10px 0 0;
	position: fixed;
	width: 250px;
	height: 300px;
	z-index: 1000;
	background-color: none;
	opacity: 1;
	filter: alpha(opacity=20);
}

.voicechat {
	display: none;
}

html,
body {
	font-size: 100%;
	font-family: 'Open Sans', sans-serif;
	background: #ffffff;
	margin: 0;
}

.logo-image {
	width: 50%;
	/* 缩放为原始宽度的一半 */
	height: auto;
	/* 高度自适应，保持图片比例 */
}

p,
ul li,
ol li {
	margin: 0;
	font-size: 14px;
	letter-spacing: 1px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Jura', sans-serif;
	margin: 0;
}

ul,
label {
	margin: 0;
	padding: 0;
}

ul2 {
	list-style-type: none;
	padding-left: 0;
}

ul2 li {
	background-color: #ffffff;
	padding: 10px;
	margin: 5px 0;
	border: 1px solid #ddd;
	border-radius: 5px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
}

ul2 li:hover {
	background-color: #ecf0f1;
}

body a:hover {
	text-decoration: none;
}

.header {
	padding: 0.6em 3em;
	background: #1d1d1d;
}

.dropdown {
	position: relative;
	display: inline-block;
}

.dropdown-content {
	display: none;
	position: absolute;
	background-color: #f9f9f9;
	min-width: 160px;
	box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
	z-index: 999;
	padding: 0;
}

.dropdown:hover .dropdown-content,
.dropdown.open .dropdown-content {
	display: block;
}

.dropdown-content li {
	padding: 12px 16px;
	list-style-type: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.dropdown-content li:hover {
	background-color: #f1f1f1;
}

/* 自定义更精美的样式 */
.dropdown-content {
	border-radius: 5px;
}

.dropdown-content li {
	color: #333;
	font-size: 14px;
}

.dropdown-content li:hover {
	background-color: #eaeaea;
	/* 添加其他样式 */
}

.dropdown-content li:hover a {
	/* 修改链接文字样式 */
	color: #333;
}

/* ===== 导航栏重构：易扩展 + 固定顶部 ===== */
.navbar-sticky {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
}

.navbar-flex .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.navbar-flex .navbar-default {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: none;
	background: transparent;
	margin-bottom: 0;
}

.navbar-flex .navbar-header {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.navbar-brand {
	display: flex;
	align-items: center;
	padding: 8px 0;
	height: auto;
}

.navbar-brand img {
	width: 200px;
	height: auto;
	max-height: 58px;
}

.navbar-flex .navbar-collapse {
	flex-grow: 1;
	padding: 0;
}

/* 桌面端：让菜单靠右 */
@media (min-width: 768px) {
	.navbar-flex .navbar-collapse {
		display: flex !important;
		justify-content: flex-end;
	}
}

.navbar-flex .navbar-nav {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin: 0;
	float: none;
}

.navbar-flex .navbar-nav > li {
	position: relative;
}

.navbar-flex .navbar-nav > li > a {
	margin: 0;
	padding: 0 1em;
	line-height: 2.8em;
	height: 2.8em;
	font-weight: bold;
	text-transform: uppercase;
	color: #212121;
	display: block;
	overflow: hidden;
}

/* 修复 .cl-effect-5 悬停伪元素文字重叠：
   给文字 span 固定高度，由 <a> 负责裁剪溢出内容 */
.navbar-flex .cl-effect-5 a span[data-hover] {
	display: inline-block;
	height: 2.8em;
	line-height: 2.8em;
	vertical-align: top;
}

/* 下拉菜单适配新布局 */
.navbar-flex .dropdown-content {
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 180px;
	background-color: #f9f9f9;
	box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
	z-index: 1001;
	padding: 0;
	border-radius: 5px;
	overflow: hidden;
}

/* 移除旧版的 nth-child 硬编码 hack */
.navbar-flex .navbar-nav > li:nth-child(3) a,
.navbar-flex .navbar-nav > li:nth-child(6) a {
	margin-right: 0 !important;
}
/* ===== /导航栏重构 ===== */

.grid-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* 列数为3 */
	grid-gap: 2px;
	/* 格子之间的间隔 */
}

.grid-item {
	background-color: #ccc;
	padding: 10px;
	text-align: center;
}

.grid-item h2 {
	margin-top: 0;
}

input[type="submit"],
input[type="reset"],
input[type="register"],
.w3ls_footer_grid_leftl,
.w3ls_footer_grid_leftr h4,
.w3l_footer_pos p a,
.w3ls_footer_grid_leftr a,
.w3layouts_header_right ul li a,
.w3ls_social li a,
.w3_team_grid1_pos,
.w3_team_grid1_pos img {
	transition: .5s ease-in;
	-webkit-transition: .5s ease-in;
	-moz-transition: .5s ease-in;
	-o-transition: .5s ease-in;
	-ms-transition: .5s ease-in;
}

/*-- header --*/
.w3layouts_header_left {
	float: left;
}

.w3layouts_header_left p {
	color: #999;
	line-height: 1.8em;
	float: left;
	margin: 5px 42px 0 0;
}

.w3layouts_header_left a {
	color: #999;
}

.w3layouts_header_right {
	float: right;
	position: relative;
	width: 40%;
	color: #999;
}

.w3layouts_header_right p {
	color: #999;
	line-height: 1.8em;
	float: left;
	margin: 5px 42px 0 0;
}

.w3layouts_header_right a {
	color: #999;
}

.w3layouts_header_right input[type="search"] {
	width: 65%;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	outline: none;
	border: none;
	background: #fff;
	color: #999;
	padding: 8px 15px 8px 15px;
	font-size: 13px;
	float: left;
}

.w3layouts_header_right input[type="submit"] {
	outline: none;
	border: none;
	background-image: url(../images/botton.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	background-size: 100% 98%;
	/* 缩放为原始尺寸的一半，高度自适应 */
	background-color: transparent;
	/* 设置背景色为透明 */
	color: #000;
	/* 将字体颜色设置为黑色 */
	font-family: "Microsoft YaHei", Arial, sans-serif;
	/* 使用微软雅黑字体 */
	font-weight: bold;
	/* 将字体加粗 */
	padding: 6px 0;
	width: 12%;
	-webkit-transition: all 0.2s ease 0s;
	-moz-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	-ms-transition: all 0.2s ease 0s;
}

.w3layouts_header_right input[type="register"] {
	outline: none;
	border: none;
	background-image: url(../images/botton.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	background-size: 100% 98%;
	/* 缩放为原始尺寸的一半，高度自适应 */
	background-color: transparent;
	/* 设置背景色为透明 */
	color: #000;
	/* 将字体颜色设置为黑色 */
	font-family: "Microsoft YaHei", Arial, sans-serif;
	/* 使用微软雅黑字体 */
	font-weight: bold;
	/* 将字体加粗 */
	padding: 6px 0;
	width: 12%;
	-webkit-transition: all 0.2s ease 0s;
	-moz-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	-ms-transition: all 0.2s ease 0s;
}

/*-- nav --*/
/* 基础 navbar 样式保留，布局由 .navbar-flex 接管 */
.navbar-default {
	border: none;
}

.navbar {
	margin-bottom: 0;
}

.w3_navigation {
	border-top: 1px solid #999;
}

/* 旧版 nth-child 硬编码 hack 已废弃 */
.navbar-nav>li:nth-child(3) a,
.navbar-nav>li:nth-child(6) a {
	margin-right: 0 !important;
}

.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>.active>a:focus {
	color: #fa3d03;
	background: none;
}

.navbar-default .navbar-nav>li>a {
	color: #212121;
}

nav.cl-effect-5 ul.nav li.active a {
	color: red;
	/* 设置菜单项的颜色 */
}

.w3_navigation_pos {
	position: absolute;
	top: 0%;
	left: 35%;
	z-index: 999;
}

.w3_navigation_pos h1 a {
	font-size: 1em;
	color: #212121;
	text-decoration: none;
	border: 3px solid #ff5000;
	padding: 0.1em .4em;
	font-weight: 700;
	text-transform: uppercase;
	font-family: 'Jura', sans-serif;
}

.navbar-default .navbar-nav>li>a:hover {
	color: #fa3d03;
}

/* Effect 5: same word slide in */
.cl-effect-5 a {
	overflow: hidden;
	padding: 0 4px;
}

.cl-effect-5 a span {
	position: relative;
	display: inline-block;
	-webkit-transition: -webkit-transform 0.3s;
	-moz-transition: -moz-transform 0.3s;
	transition: transform 0.3s;
}

.cl-effect-5 a span::before {
	position: absolute;
	top: 100%;
	content: attr(data-hover);
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.cl-effect-5 a:hover span,
.cl-effect-5 a:focus span {
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	transform: translateY(-100%);
}

/* Effect 5: same word slide in and border bottom */
/*-- //nav --*/
.fa-cog {
	-webkit-animation: fa-spin 3s infinite linear;
	animation: fa-spin 3s infinite linear;
}

/*-- //header --*/
/*-- banner --*/
.w3_navigation_pos h1 a i {
	font-size: .6em;
	color: #f83e03;
}

.slider-info {
	position: absolute;
	top: 40%;
	z-index: 999;
	left: 0px;
	width: 100%;
	height: 100%;
	text-align: center;
}

.slider-info h4 {
	font-size: 3em;
	color: #fff;
	letter-spacing: 5px;
	text-transform: uppercase;
	font-weight: 200;
}

.slider-info a {
	font-size: 1em;
	padding: 0.6em 2em;
	color: #fff;
}

/* Shutter In Horizontal */
.hvr-shutter-in-horizontal {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	background: #2098d1;
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}

.hvr-shutter-in-horizontal:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #ff5000;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: 50%;
	transform-origin: 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

.hvr-shutter-in-horizontal:hover,
.hvr-shutter-in-horizontal:focus,
.hvr-shutter-in-horizontal:active {
	color: white;
}

.hvr-shutter-in-horizontal:hover:before,
.hvr-shutter-in-horizontal:focus:before,
.hvr-shutter-in-horizontal:active:before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

.slider-info p {
	font-size: 1em;
	text-transform: uppercase;
	color: #fff;
	letter-spacing: 7px;
	margin: 2em 0;
}

/*--slider--*/
#slider2,
#slider3 {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	margin: 0 auto;
}

.rslides_tabs li:first-child {
	margin-left: 0;
}

.rslides_tabs .rslides_here a {
	background: rgba(255, 255, 255, .1);
	color: #fff;
	font-weight: bold;
}

.events {
	list-style: none;
}

.callbacks_container {
	position: relative;
	float: left;
	width: 100%;
}

.callbacks {
	position: relative;
	list-style: none;
	overflow: hidden;
	width: 100%;
	padding: 0;
	margin: 0;
}

.callbacks li {
	position: absolute;
	width: 100%;
}

.callbacks img {
	position: relative;
	z-index: 1;
	height: auto;
	border: 0;
}

.callbacks .caption {
	display: block;
	position: absolute;
	z-index: 2;
	font-size: 20px;
	text-shadow: none;
	color: #fff;
	left: 0;
	right: 0;
	padding: 10px 20px;
	margin: 0;
	max-width: none;
	top: 10%;
	text-align: center;
}

.callbacks_nav {
	position: absolute;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	bottom: 24%;
	left: 0;
	z-index: 3;
	text-indent: -9999px;
	overflow: hidden;
	text-decoration: none;
	width: 32px;
	height: 32px;
	background: transparent url("../images/left.png") no-repeat left top;
}

.callbacks_nav:hover {
	opacity: 0.5;
}

.callbacks_nav.next {
	left: auto;
	background: transparent url("../images/right.png") no-repeat right top;
	left: 51%;
}

.callbacks_nav.prev {
	right: auto;
	background-position: left top;
	left: 47%;
}

#slider3-pager a {
	display: inline-block;
}

#slider3-pager span {
	float: left;
}

#slider3-pager span {
	width: 100px;
	height: 15px;
	background: #fff;
	display: inline-block;
	border-radius: 30em;
	opacity: 0.6;
}

#slider3-pager .rslides_here a {
	background: #FFF;
	border-radius: 30em;
	opacity: 1;
}

#slider3-pager a {
	padding: 0;
}

#slider3-pager li {
	display: inline-block;
}

.rslides {
	position: relative;
	list-style: none;
	overflow: hidden;
	width: 100%;
	padding: 0;
}

.rslides li {
	-webkit-backface-visibility: hidden;
	position: absolute;
	display: none;
	width: 100%;
	left: 0;
	top: 0;
}

.rslides li {
	position: relative;
	display: block;
	float: left;
}

.rslides img {
	height: auto;
	border: 0;
	width: 100%;
}

.callbacks_tabs {
	list-style: none;
	position: absolute;
	bottom: -39%;
	left: 42%;
	padding: 0;
	margin: 0;
	z-index: 990;
	display: block;
	text-align: center;
}

.slider-top span {
	font-weight: 600;
}

.callbacks_tabs li {
	display: inline-block;
	margin: 0 7px;
}

/*----*/
.callbacks_tabs a {
	visibility: hidden;
}

.callbacks_tabs a:after {
	content: "\f111";
	font-size: 0;
	font-family: FontAwesome;
	visibility: visible;
	display: block;
	height: 12px;
	width: 12px;
	display: inline-block;
	background: #fff;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-o-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
}

.callbacks_here a:after {
	background: #f53753;
	border: 1px solid #f53753;
	height: 1px;
	width: 40px;
	border-radius: 0;
}

/*-- //banner --*/
/*-- about --*/
.about,
.services,
.team-bottom,
.mail {
	padding: 5em 0;
}

.w3l_head {
	font-size: 2.5em;
	font-weight: bold;
	color: #212121;
	letter-spacing: 3px;
	text-align: center;
}

.w3ls_head_para {
	color: #ff5000;
	text-transform: uppercase;
	letter-spacing: 8px;
	text-align: center;
}

.agileits_about_right p {
	color: #999;
	line-height: 2em;
	margin-bottom: 3em;
}

.agileits_about_right p i {
	display: block;
	margin: 2em 0 0;
}

.agileits_about_right {
	padding-left: 7em;
}

.agileits_about_right ul li {
	display: block;
	margin-bottom: 1em;
	color: #212121;
	line-height: 1.5em;
	text-transform: capitalize;
	font-family: 'Questrial', sans-serif;
	font-size: 1em;
	font-weight: 600;
	letter-spacing: 2px;
}

.agileits_about_right ul li i {
	color: #fa3d43;
	padding-right: 1em;
}

.agileits_about_right ul li:last-child,
.agileinfo_about_bottom_right_wthree ul li:last-child {
	margin-bottom: 0;
}

/*-- //about --*/
/*-- about-bottom --*/
.agileits_banner_bottom_grid_l h4 {
	text-transform: capitalize;
	font-size: 1.8em;
	color: #212121;
	line-height: 1.5em;
}

.agileits_banner_bottom_grid_l p {
	margin: 1em 0 0;
	line-height: 2em;
	color: #999;
}

.agileits_banner_bottom_grid_l p i {
	display: block;
	margin-bottom: 1em;
	color: #ff5000;
	letter-spacing: 4px;
	font-weight: 400;
}

.agileits_banner_bottom_grids {
	margin: 6em 0 0;
}

.agileits_banner_btm_grid_r {
	position: relative;
}

.agileits_banner_btm_grid_r_pos {
	position: absolute;
	top: -23%;
	right: -15%;
}

/*-- //about-bottom --*/
/*-- services --*/
/*-- services --*/
.services {
	background: url(../images/service.jpg) no-repeat center;
	background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	-ms-background-size: cover;
	-moz-background-size: cover;
}

#services h3 {
	text-align: center;
	color: #fff;

}

.services-agile-w3l,
.services-gd {
	margin: 0 auto;
	text-align: center;
}

.services-agile-w3l {
	margin-top: 2em;
}

.hi-icon,
.hi-icon:after {
	border-radius: 0px;
}

.hi-icon:before {
	font-family: inherit;
}

a.hi-icon img {
	margin: 17px 0 0;
}

.hi-icon-wrap {
	padding: 0;
}

.services-gd h4 {
	color: #2098d1;
	margin-top: 20px;
	font-size: 1.5em;
	letter-spacing: 2px;
	margin-bottom: 8px;
}

.services-gd p {
	color: #fff;
}

.hi-icon-wrap {
	text-align: center;
	margin: 0 auto;
	padding: 2em 0 1em;
}

.hi-icon {
	display: inline-block;
	font-size: 0px;
	cursor: pointer;
	margin: 0 auto;
	width: 102px;
	height: 102px;
	text-align: center;
	position: relative;
	z-index: 1;
	color: #fff;
	border-radius: 50%;
}

.hi-icon:after {
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 100%;
	content: '';
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

.hi-icon:before {
	font-family: 'ecoicon';
	speak: none;
	font-size: 48px;
	line-height: 90px;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	display: block;
	-webkit-font-smoothing: antialiased;
}

/* Effect 9 */
.hi-icon-effect-9 .hi-icon {
	-webkit-transition: box-shadow 0.2s;
	-moz-transition: box-shadow 0.2s;
	transition: box-shadow 0.2s;
}

.hi-icon-effect-9 .hi-icon:after {
	top: 0;
	left: 0;
	padding: 0;
	box-shadow: 0 0 0 3px #fff;
	-webkit-transition: -webkit-transform 0.2s, opacity 0.2s;
	-moz-transition: -moz-transform 0.2s, opacity 0.2s;
	transition: transform 0.2s, opacity 0.2s;
	border-radius: 50%;
}

/* Effect 9a */
.hi-icon-effect-9a .hi-icon:hover:after {
	-webkit-transform: scale(0.85);
	-moz-transform: scale(0.85);
	-ms-transform: scale(0.85);
	transform: scale(0.85);
	opacity: 0.5;
}

.hi-icon-effect-9a .hi-icon:hover {
	box-shadow: 0 0 0 6px #fff;
	color: #fff;
}

/*-- //services --*/
/*-- //services-bottom --*/
/*-- /news --*/
.projects {
	padding: 5em 0 0 0;
}

.projects-info {
	text-align: center;
}

.projects-info p {
	color: #999999;
	font-size: .9em;
	margin: 1em auto 0;
	width: 40%;
}

.projects-grids {
	margin: 3em 0 0 0;
}

#owl-demo .item {
	text-align: center;
}

.projects-agile-grid-info {
	position: relative;
	overflow: hidden;
}

.projects-agile-grid-info img {
	width: 100%;
}

i.fa.fa-cutlery {
	color: #FFFFFF;
	font-size: 2em;
}

.projects-grid-caption h4 {
	color: #fff;
	font-size: 1.7em;
	font-weight: 100%;
	margin: 7.2em 0 0.5em 0;
	text-transform: uppercase;
	background: hsla(192, 18%, 92%, 0.31);
	padding: 10px;
	letter-spacing: 6px;
}

.projects-grid-caption p {
	color: #fff;
	font-size: 0.95em;
	margin: 0;
	letter-spacing: 12px;
}

.projects-grid-caption {
	background: rgba(0, 0, 0, 0.61);
	padding: 8em 1em 1em 1em;
	position: absolute;
	left: 0;
	bottom: -135%;
	text-align: center;
	width: 100%;
	height: 100%px;
	-webkit-transition: .5s all;
	transition: .5s all;
	-moz-transition: .5s all;
	border: 1px solid #999;
}

.projects-agile-grid-info:hover .projects-grid-caption {
	bottom: 0%;
}

/*-- //news --*/
/*-- gallery --*/
.w3l_gallery_grid li {
	display: inline-block;
	float: left;
	width: 32.33%;
	padding: 1%;
}

.box {
	position: relative;
	overflow: hidden;
}

.box img {
	position: absolute;
	left: 0;
	-webkit-transition: all 300ms ease-out;
	-moz-transition: all 300ms ease-out;
	-o-transition: all 300ms ease-out;
	-ms-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
}

.box .overbox {
	background-color: hsla(0, 0%, 11%, 0.6);
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	z-index: 100;
	-webkit-transition: all 300ms ease-out;
	-moz-transition: all 300ms ease-out;
	-o-transition: all 300ms ease-out;
	-ms-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
	opacity: 0;
	width: 100%;
	padding: 7em 2em 2em;
}

.box,
.box .overbox {
	height: 230px;
}

.box:hover .overbox {
	opacity: 1;
}

.box .overtext {
	-webkit-transition: all 300ms ease-out;
	-moz-transition: all 300ms ease-out;
	-o-transition: all 300ms ease-out;
	-ms-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
	transform: translateY(40px);
	-webkit-transform: translateY(40px);
}

.box .title {
	font-size: 1.6em;
	text-transform: uppercase;
	opacity: 0;
	transition-delay: 0.1s;
	transition-duration: 0.2s;
	background: rgba(236, 81, 9, 0.72);
	text-align: center;
	padding: 10px;
}

.box:hover .title,
.box:focus .title {
	opacity: 1;
	transform: translateY(0px);
	-webkit-transform: translateY(0px);
}

.box .tagline {
	font-size: 13px;
	line-height: 1.8em;
	opacity: 0;
	transition-delay: 0.2s;
	transition-duration: 0.2s;
}

.box:hover .tagline,
.box:focus .tagline {
	opacity: 1;
	transform: translateX(0px);
	-webkit-transform: translateX(0px);
}

ul#lightGallery {
	margin-top: 2em;
}

.modal {
	display: none;
	/* 默认隐藏 */
	position: fixed;
	z-index: 1000;
	/* 在最上层 */
	left: 0;
	top: 0;
	width: 100%;
	/* 全屏宽 */
	height: 100%;
	/* 全屏高 */
	overflow: auto;
	/* 允许滚动 */
	background-color: rgba(0, 0, 0, 0.8);
	/* 半透明背景 */
	justify-content: center;
	/* 横向居中 */
	align-items: center;
	/* 纵向居中 */
}

.modal img {
	height: auto;
	/* 自动高度以保持比例 */
	width: 100%;
	/* 全宽 */
	max-height: 100%;
	/* 最大高度为100%，防止溢出 */
	object-fit: contain;
	/* 保持比例并完整显示 */
	overflow: hidden;
	/* 隐藏多余的部分 */
}

.modal-content img {
	height: auto;
	/* 自动高度以保持比例 */
	width: 100%;
	/* 全宽 */
	max-height: 100%;
	/* 最大高度为100%，防止溢出 */
	object-fit: contain;
	/* 保持比例并完整显示 */
	overflow: hidden;
	/* 隐藏多余的部分 */
}

.modal-content h4 {
	color: #0099e5;
	text-align: center;
	font-size: 35px;
	margin-bottom: 15px;
}

.modal-content h5 {
	color: #000;
	padding: 20px 0 6px;
	font-size: 22px;
	margin-left: 0px;
}

.modal-content p {
	color: #676464;
	font-size: 14px;
	line-height: 28px;
	letter-spacing: 0.2px;
	word-spacing: 1px;
}

.modal-header {
	min-height: 16.42857143px;
	padding: 20px 30px;
}

.modal-dialog {
	width: 600px;
	margin: 109px auto;
}

.agileits_about_left h3 {
	text-align: left;
}

.agileits_about_left p {
	text-align: left;
}

/*-- mail --*/
.w3_mail_grids textarea {
	outline: none;
	padding: 10px;
	color: #212121;
	font-size: 14px;
	border: none;
	border-bottom: 2px solid #f2f2f2;
	background: none;
	width: 97.3%;
	margin: 0 0 3em 1.1em;
	min-height: 150px;
	resize: none;
	font-weight: 600;
}

.w3_mail_grids textarea::-webkit-input-placeholder {
	color: #212121 !important;
}

.w3_mail_grids input[type="submit"] {
	outline: none;
	color: #fff;
	letter-spacing: 5px;
	font-size: 1em;
	border: none;
	text-transform: uppercase;
	width: 100%;
	font-weight: 600;
	background: #111;
	padding: 0.9em;
	margin-top: 2em;
}

.w3_mail_grids input[type="submit"]:hover {
	background: #fa3d03;
}

.w3_mail_grids input[type="register"] {
	outline: none;
	color: #fff;
	letter-spacing: 5px;
	font-size: 1em;
	border: none;
	text-transform: uppercase;
	width: 100%;
	font-weight: 600;
	background: #111;
	padding: 0.9em;
	margin-top: 2em;
}

.w3_mail_grids input[type="register"]:hover {
	background: #fa3d03;
}

/*-- mail --*/
.input {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0;
	max-width: 100%;
	width: calc(100% - 0em);
	vertical-align: top;
}

.input__field {
	display: block;
	border-radius: 0;
	outline: none;
	width: 100%;
	background: #f5f5f5;
	color: #111;
	padding: 18px;
	font-size: 14px;
	border: 1px solid #e4e4e4;
	font-weight: 600;
	-webkit-appearance: none;
}

.input__field:focus,
.w3_agile_mail_grid textarea:focus {
	outline: none;
	background: #fff;
}

.input--ichiro {
	margin-top: 2em;
}

.w3_agile_mail_grid textarea {
	outline: none;
	width: 100%;
	background: #f5f5f5;
	color: #111;
	padding: 1em;
	font-size: 14px;
	border: 1px solid #e4e4e4;
	min-height: 239px;
	font-weight: 600;
	margin: 2em 0 0;
}

.w3_agile_mail_grid textarea::-webkit-input-placeholder {
	color: #212121 !important;
}

/*-- //mail --*/
/*-- footer --*/
.w3l_footer {
	background: #000;
	padding: 6em 0 5em 0;
}

.w3l_footer form {
	width: 45%;
	margin: 3em auto 0;
}

.w3ls_footer_grid {
	margin: 0 auto;
	text-align: center;
}

.w3ls_footer_grids p.agileits_w3layouts_est {
	color: #fff;
	line-height: 2em;
	margin: 2em auto 5em;
	width: 65%;
	text-align: center;
}

.w3ls_footer_grid_leftl {
	float: left;
	width: 55px;
	height: 55px;
	border-radius: 50px;
	text-align: center;
	background: #fa3d03;
}

.w3ls_footer_grid_leftl i {
	color: #fff;
	font-size: 1em;
	line-height: 3.4em;
}

.w3ls_footer_grid_leftr {
	float: right;
	width: 80%;
	text-align: left;
}

.w3ls_footer_grid_leftr h4 {
	font-size: 1.2em;
	color: #fff;
	letter-spacing: 3px;
	margin-bottom: .5em;
}

.w3ls_footer_grid_leftr p {
	color: #999;
	line-height: 1.5em;
}

.w3ls_footer_grid_leftr a {
	color: #999;
	text-decoration: none;
	font-size: 14px;
}

.w3ls_footer_grid_leftr a:hover {
	color: #fa3d03;
}

.w3l_footer_pos {
	margin-top: 4em;
}

.w3l_footer_pos p {
	text-align: center;
	color: #fff;
	line-height: 1.8em;
}

.w3l_footer_pos p a {
	color: #fa3d03;
	text-decoration: underline;
}

.w3l_footer_pos p a:hover {
	color: #fff;
}

.w3ls_footer_grid_left:hover .w3ls_footer_grid_leftl {
	background: #fff;
}

.w3ls_footer_grid_left:hover .w3ls_footer_grid_leftl i {
	color: #212121;
}

.w3ls_footer_grid_left:hover .w3ls_footer_grid_leftr h4 {
	color: #fa3d43;
}

.w3ls_footer_grid_left {
	background: #2e2e2e;
	float: left;
	width: 31%;
	margin: 0 10px;
	padding: 30px 20px;
}

/*-- //footer --*/
.map iframe {
	width: 100%;
	min-height: 350px;
	margin-top: 2em;
	margin-bottom: -6px;
	border: none;
}

/*-- to-top --*/
#toTop {
	display: none;
	text-decoration: none;
	position: fixed;
	bottom: 20px;
	right: 2%;
	overflow: hidden;
	z-index: 999;
	width: 32px;
	height: 32px;
	border: none;
	text-indent: 100%;
	background: url(../images/arrow.png) no-repeat 0px 0px;
}

#toTopHover {
	width: 32px;
	height: 32px;
	display: block;
	overflow: hidden;
	float: right;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
}

/*-- //to-top --*/
/*-- start-responsive-design --*/
@media (max-width:1440px) {
	.slider-info {
		position: absolute;
		top: 35%;
	}
}

@media (max-width:1366px) {
	.slider-info h4 {
		font-size: 2.8em;
	}

	.projects-grid-caption {
		padding: 8em 1em 1em 1em;
		position: absolute;
		left: 0;
		bottom: -146%;
	}

	.projects-grid-caption h4 {
		font-size: 1.4em;
		margin: 7.2em 0 0.5em 0;
	}
}

@media (max-width:1280px) {
	.slider-info h4 {
		font-size: 2.5em;
	}

	.agileits_banner_btm_grid_r_pos {
		position: absolute;
		top: -23%;
		right: -9%;
	}

	.projects-grid-caption {
		padding: 14em 1em 1em 1em;
		position: absolute;
		left: 0;
		bottom: -156%;
	}
}

@media (max-width:1080px) {
	.w3_navigation_pos {
		left: 41%;
	}

	.agileits_about_right {
		padding-left: 4em;
	}

	.w3layouts_header_right {
		float: right;
		position: relative;
		width: 30%;
	}

	.slider-info p {
		font-size: 0.9em;
		letter-spacing: 6px;
		margin: 2em 0;
	}

	.slider-info h4 {
		font-size: 2.3em;
	}

	.slider-info {
		position: absolute;
		top: 28%;
	}

	.callbacks_nav.prev {
		right: auto;
		background-position: left top;
		left: 45%;
	}

	.navbar-nav>li>a {
		margin: 2em 1em;
		font-size: 0.9em;
	}

	.w3_navigation_pos h1 a {
		font-size: 0.9em;
	}



	.w3_navigation_pos {
		left: 35%;
	}

	.agileits_banner_bottom_grid_l h4 {
		font-size: 1.6em;
	}

	.projects-grid-caption h4 {
		font-size: 1em;
		margin: 7.2em 0 0.5em 0;
	}

	.projects-grid-caption {
		padding: 19em 1em 1em 1em;
		position: absolute;
		left: 0;
		bottom: -179%;
	}

	.projects-grid-caption p {
		font-size: 0.85em;
		margin: 0;
		letter-spacing: 10px;
	}

	.w3ls_footer_grid_leftl {
		float: left;
		width: 43px;
		height: 43px;
	}

	.w3ls_footer_grid_leftl i {
		font-size: 1em;
		line-height: 2.7em;
	}

	.w3ls_footer_grid_leftr h4 {
		font-size: 1.1em;
		letter-spacing: 2px;
	}

	.box .overbox {
		padding: 6em 1em 2em;
	}

	.box,
	.box .overbox {
		height: 189px;
	}
}

@media (max-width: 1024px) {
	.w3_navigation_pos {
		left: 41%;
	}

	.agileits_about_right {
		padding-left: 4em;
	}

	.w3layouts_header_right {
		float: right;
		position: relative;
		width: 36%;
	}

	.slider-info p {
		font-size: 0.9em;
		letter-spacing: 6px;
		margin: 2em 0;
	}

	.slider-info h4 {
		font-size: 2.3em;
	}

	.slider-info {
		position: absolute;
		top: 28%;
	}

	.callbacks_nav.prev {
		right: auto;
		background-position: left top;
		left: 45%;
	}

	.navbar-nav>li>a {
		margin: 2em 1em;
		font-size: 0.9em;
	}

	.w3_navigation_pos h1 a {
		font-size: 0.9em;
	}



	.w3_navigation_pos {
		left: 35%;
	}

	.projects-grid-caption {
		padding: 19em 1em 1em 1em;
		position: absolute;
		left: 0;
		bottom: -190%;
	}

	.projects-grid-caption h4 {
		font-size: 0.9em;
		margin: 8.2em 0 0.5em 0;
	}
}

@media (max-width: 991px) {
	.w3_navigation_pos h1 a {
		font-size: 0.7em;
	}


	.navbar-nav>li>a {
		margin: 2em 0.5em;
	}

	.w3_navigation_pos {
		top: 28%;
		left: 38.5%;
	}

	.navbar-nav>li>a {
		padding: 0;
		line-height: 0.8em;
	}

	.w3_navigation_pos {
		top: 28%;
		left: 33.5%;
	}

	.w3layouts_header_right {
		float: right;
		position: relative;
		width: 36%;
	}

	.callbacks_nav.prev {
		right: auto;
		background-position: left top;
		left: 45%;
	}

	.agileits_banner_bottom_grids {
		margin: 1em 0 0;
	}

	.agileits_banner_bottom_grid_r {
		margin-top: 6em;
	}

	.agileits_banner_btm_grid_r_pos {
		position: absolute;
		top: -23%;
		right: 0%;
	}

	.services-gd.text-center {
		float: left;
		width: 25%;
	}

	.w3l_head {
		font-size: 2.3em;
	}

	.box .title {
		font-size: 1.2em;
	}

	.box,
	.box .overbox {
		height: 146px;
	}

	.box .overbox {
		padding: 4em 1em 2em;
	}

	.projects-grid-caption {
		padding: 21em 1em 1em 1em;
		position: absolute;
		left: 0;
		bottom: -248%;
	}

	.projects-grid-caption h4 {
		font-size: 0.9em;
		margin: 9.2em 0 0.5em 0;
	}

	.projects-grid-caption p {
		font-size: 0.8em;
		margin: 0;
		letter-spacing: 7px;
	}

	.w3ls_footer_grid_left {
		float: left;
		width: 100%;
		margin: 0 0px;
		padding: 20px 30px;
		margin-bottom: 10px;
	}

	.w3ls_footer_grid_leftr {
		float: right;
		width: 75%;
		text-align: left;
	}

	.w3l_footer {
		padding: 4em 0 3em 0;
	}

	.about,
	.services,
	.team-bottom,
	.mail {
		padding: 3em 0;
	}

	.w3l_footer_pos {
		margin-top: 2em;
	}

}

@media (max-width: 800px) {
	.w3_navigation_pos {
		left: 38.5%;
	}


	.w3_navigation_pos h1 a {
		font-size: .75em;
	}

	.w3_navigation_pos {
		left: 34%;
	}

	.navbar-nav {
		float: none;
		margin: 0em 0 0em 0;
	}

	.w3_navigation_pos {
		top: 12%;
		left: 33.5%;
	}

	.w3layouts_header_left p {
		float: left;
		margin: 5px 19px 0 0;
		font-size: 13px;
	}

	.header {
		padding: 0.6em 1em;
	}

	.slider-info h4 {
		font-size: 1.8em;
	}

	.slider-info a {
		font-size: 0.9em;
		padding: 0.6em 1.5em;
	}

	.slider-info p {
		font-size: 0.85em;
		letter-spacing: 5px;
		margin: 1em 0 1.5em 0;
	}

	.projects-grid-caption h4 {
		font-size: 0.9em;
		margin: 9.2em 0 0.5em 0;
		padding: 8px;
		letter-spacing: 2px;
	}

	.projects-grid-caption p {
		font-size: 0.8em;
		margin: 0;
		letter-spacing: 3px;
	}

	.services-gd h4 {
		margin-top: 20px;
		font-size: 1.3em;
	}

	.callbacks_nav {
		position: absolute;
		bottom: 21%;
	}

	.w3layouts_header_right {
		float: right;
		position: relative;
		width: 40%;
	}
}

@media (max-width: 768px) {
	.w3_navigation_pos h1 a {
		font-size: .75em;
	}

	.w3_navigation_pos {
		left: 34%;
	}

	.w3l_head {
		font-size: 2em;
	}

	.agileits_about_right {
		padding-left: 3em;
	}

	.agileinfo_about_bottom_right h2 {
		font-size: 1.7em;
	}

	.w3ls_head_para {
		letter-spacing: 5px;
	}

	.projects-grid-caption h4 {
		font-size: 1.1em;
		margin: 1.2em 0 0.5em 0;
		padding: 8px;
		letter-spacing: 2px;
	}

	.w3_agile_mail_grid textarea {
		outline: none;
		min-height: 191px;
		margin: 2em 0 0;
	}

	.map iframe {
		width: 100%;
		min-height: 250px;
		margin-top: 2em;
	}

	.projects {
		padding: 3em 0 0 0;
	}
}

@media (max-width: 767px) {
	.navbar-default .navbar-toggle {
		border-color: #212121;
	}

	.navbar-default .navbar-toggle .icon-bar {
		background-color: #212121;
	}

	.navbar-toggle {
		margin: 1em 0;
	}

	.navbar-default .navbar-toggle:hover,
	.navbar-default .navbar-toggle:focus {
		background-color: transparent;
	}

	/* 移动端：.navbar-flex 垂直堆叠 */
	.navbar-flex .container {
		flex-wrap: wrap;
	}

	.navbar-flex .navbar-default {
		flex-wrap: wrap;
	}

	.navbar-flex .navbar-collapse {
		width: 100%;
	}

	.navbar-flex .navbar-nav {
		flex-direction: column;
		gap: 0;
		width: 100%;
		background: #dfdfdf;
		align-items: center;
	}

	.navbar-flex .navbar-nav > li > a {
		padding: 0.8em 0;
		line-height: 1.2em;
		text-align: center;
	}

	/* 移动端彻底禁用 .cl-effect-5 悬停文字飞入动画 */
	.navbar-flex .cl-effect-5 a span[data-hover]::before {
		display: none;
	}

	.navbar-flex .cl-effect-5 a:hover span,
	.navbar-flex .cl-effect-5 a:focus span,
	.navbar-flex .cl-effect-5 a:active span {
		transform: none;
		-webkit-transform: none;
		-moz-transform: none;
	}

	/* ===== 移动端下拉菜单：延续桌面端风格 ===== */
	.navbar-flex .dropdown-content {
		position: static;
		width: 90%;
		margin: 0 auto;
		box-shadow: none;
		border-radius: 5px;
		display: none;
		background-color: #f9f9f9;
		padding: 0;
		overflow: hidden;
	}

	.navbar-flex .dropdown.open .dropdown-content {
		display: block;
	}

	.navbar-flex .dropdown-content li {
		padding: 12px 16px;
		list-style-type: none;
		cursor: pointer;
		transition: background-color 0.3s ease;
		color: #333;
		font-size: 14px;
		border-bottom: 1px solid #eee;
		text-align: center;
	}

	.navbar-flex .dropdown-content li:last-child {
		border-bottom: none;
	}

	.navbar-flex .dropdown-content li:hover {
		background-color: #eaeaea;
	}

	.navbar-flex .dropdown-content li a {
		color: #333;
	}

	.navbar-flex .dropdown-content li:hover a {
		color: #333;
	}

	/* 展开时父菜单项高亮 */
	.navbar-flex .dropdown.open > a {
		color: #fa3d03 !important;
	}

	/* 箭头旋转 */
	.navbar-flex .dropdown > a .caret {
		transition: transform 0.2s ease;
	}

	.navbar-flex .dropdown.open > a .caret {
		transform: rotate(180deg);
	}

	.navbar-nav {
		float: none;
		margin: 0;
		text-align: center;
		background: #dfdfdf;
	}

	.navbar-nav>li>a {
		margin: 2em 0;
	}

	.w3_navigation_pos {
		left: 0;
	}

	.w3_navigation_pos {
		position: inherit;
		float: left;
		margin-top: .9em;
	}
}

@media (max-width: 736px) {
	.header {
		padding: 0.6em 1em;
	}

	.box .overbox {
		padding: 3em 1em 2em;
	}

	.box,
	.box .overbox {
		height: 139px;
	}

	.map iframe {
		min-height: 300px;
	}

	.box .overbox {
		padding: 3em 1em 2em;
	}

	.box,
	.box .overbox {
		height: 139px;
	}

	.w3layouts_header_right {
		float: right;
		position: relative;
		width: 37%;
	}

	.about,
	.services,
	.team-bottom,
	.mail {
		padding: 2em 0;
	}

	.projects {
		padding: 2em 0 0 0;
	}
}

@media (max-width: 667px) {
	.w3layouts_header_right ul li:last-child {
		margin-left: 1em;
	}

	.box,
	.box .overbox {
		height: 125px;
	}

	.box .title {
		font-size: 1em;
	}

	.w3layouts_header_left {
		float: none;
		width: 100%;
		margin: 0 auto;
	}

	.w3layouts_header_left p {
		float: none;
		margin: 0 auto;
		text-align: center;

	}

	.w3layouts_header_right {
		float: none;
		position: relative;
		width: 56%;
		margin: 4px auto 0;
	}

	.w3layouts_header_right input[type="search"] {
		width: 83%;
	}

	.callbacks_nav {
		position: absolute;
		bottom: 14%;
	}

	.callbacks_nav.prev {
		right: auto;
		background-position: left top;
		left: 43%;
	}
}

@media (max-width: 640px) {

	.box,
	.box .overbox {
		height: 114px;
	}

	.w3l_head {
		font-size: 1.8em;
	}

	.w3ls_head_para {
		letter-spacing: 5px;
		font-size: 12px !important;
	}

	.services-gd.text-center {
		float: left;
		width: 50%;
	}
}

@media (max-width: 600px) {
	.slider-info h4 {
		font-size: 1.5em;
	}

	.slider-info p {
		font-size: 0.8em;
		letter-spacing: 3px;
		margin: 1em 0 1.5em 0;
	}

	.slider-info {
		position: absolute;
		top: 21%;
	}
}

@media (max-width: 568px) {
	.agileits_banner_bottom_grid_l h4 {
		font-size: 1.4em;
	}

	.w3l_gallery_grid li {
		display: inline-block;
		float: left;
		width: 50%;
		padding: 1%;
	}

	.box,
	.box .overbox {
		height: 166px;
	}

	.box .overbox {
		padding: 5em 1em 2em;
	}

	.projects-grid-caption h4 {
		font-size: 1.1em;
		margin: 5em 0 0.5em 0;
		padding: 8px;
		letter-spacing: 2px;
	}

	.w3l_footer {
		padding: 2em 0 2em 0;
	}

	.w3l_footer_pos {
		margin-top: 1em;
	}
}

@media (max-width: 480px) {

	p,
	ul li,
	ol li {
		margin: 0;
		font-size: 13px;
	}

	.w3layouts_header_right {
		float: none;
		position: relative;
		width: 80%;
		margin: 4px auto 0;
	}

	.callbacks_nav {
		position: absolute;
		bottom: 9%;
	}

	.slider-info h4 {
		font-size: 1.4em;
		letter-spacing: 4px;
	}

	.box .overbox {
		padding: 4em 1em 2em;
	}

	.box,
	.box .overbox {
		height: 138px;
	}

	.projects-grid-caption h4 {
		font-size: 1.1em;
		margin: 0em 0 0.5em 0;
		padding: 8px;
		letter-spacing: 2px;
	}

	.w3_agile_mail_grid textarea {
		outline: none;
		min-height: 119px;
		margin: 2em 0 0;
	}

	.w3_agile_mail_grid {
		padding: 0 0px;
	}
}

@media (max-width: 414px) {
	.agileits_banner_btm_grid_r_pos {
		position: absolute;
		top: -37%;
		right: 0%;
	}

	.agileits_banner_bottom_grid_l {
		padding: 0 5px;
	}

	.agileits_about_left {
		padding: 0 5px;
	}

	.slider-info h4 {
		font-size: 1.3em;
		letter-spacing: 3px;
	}

	.slider-info h4 {
		font-size: 1.3em;
		letter-spacing: 3px;
	}

	.slider-info a {
		font-size: 0.9em;
		padding: 0.4em 1.5em 0.7em 1.5em;
	}

	.w3_navigation_pos {
		position: inherit;
		float: left;
		margin-top: .7em;
	}

	.callbacks_nav.prev {
		right: auto;
		background-position: left top;
		left: 40%;
		background-size: 72%;
	}

	.callbacks_nav.next {
		left: auto;
		background: transparent url(../images/right.png) no-repeat right top;
		left: 51%;
		background-size: 72%;
	}

	.callbacks_nav {
		position: absolute;
		bottom: 5%;
	}

	.box,
	.box .overbox {
		height: 112px;
	}

	.box .overbox {
		padding: 3em 1em 2em;
	}

	ul#lightGallery {
		margin-top: 1em;
	}

	.slider-img img {
		min-height: 175px;
	}

	.map iframe {
		min-height: 231px;
	}

	.agileits_banner_bottom_grid_l h4 {
		font-size: 1.2em;
	}

	.w3l_head {
		font-size: 1.5em;
	}

	.agileits_banner_btm_grid_r_pos img {
		width: 57%;
	}

	.agileits_banner_btm_grid_r_pos {
		position: absolute;
		top: -28%;
		right: -3%;
	}
}

@media (max-width: 384px) {
	.slider-info h4 {
		font-size: 1.2em;
		letter-spacing: 2px;
	}

	.slider-info p {
		font-size: 0.8em;
		letter-spacing: 1px;
		margin: 0.5em 0 1em 0;
	}

	.agileits_banner_btm_grid_r_pos img {
		width: 57%;
	}

	.agileits_banner_btm_grid_r_pos {
		position: absolute;
		top: -28%;
		right: -3%;
	}

	.box .overbox {
		padding: 3em 1em 2em;
	}

	.box,
	.box .overbox {
		height: 103px;
	}

	.services-gd h4 {
		margin-top: 20px;
		font-size: 1.2em;
	}
}

@media (max-width: 375px) {
	.w3layouts_header_right {
		float: none;
		position: relative;
		width: 95%;
		margin: 4px auto 0;
	}
}

@media (max-width: 320px) {
	.w3_navigation_pos h1 a {
		font-size: .65em;
	}

	.slider-info h4 {
		font-size: 1.2em;
		letter-spacing: 2px;
	}

	.slider-img img {
		min-height: 151px;
	}

	.w3l_gallery_grid li {
		display: inline-block;
		float: left;
		width: 100%;
		padding: 1%;
	}

	.box,
	.box .overbox {
		height: 120px;
	}

	.projects-grid-caption {
		padding: 24em 1em 1em 1em;
		position: absolute;
	}

	.w3layouts_header_right {
		float: none;
		position: relative;
		width: 100%;
		margin: 4px auto 0;
	}

	#mail {
		padding: 0em 0 2em 0;
	}
}
.custom-button {
	display: inline-block;
	margin: 5px;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	background-color: #007bff;
	color: white;
	cursor: pointer;
	font-size: 16px;
	transition: background-color 0.3s;
}
.custom-button:hover {
	background-color: #0056b3;
}
.custom-footer {
	display: flex;
	justify-content: space-around;
	margin-top: 10px;
}

/* ======== FILE: shop.css ======== */
/* ================================
   全局表格样式
   ================================ */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-family: 'Arial', sans-serif;
    font-size: 14px;
    table-layout: auto;
    /* 允许自适应列宽 */
}

th,
td {
    padding: 8px 10px;
    text-align: center;
    border: 1px solid #ddd;
    white-space: nowrap;
    /* 保持文字不换行 */
    transition: background-color 0.3s ease;
}

/* 表头 */
th {
    background-color: #007bff;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
}

/* 表格行高度 */
tbody tr {
    height: 40px;
}

/* 奇偶行背景 */
tbody tr:nth-child(odd) {
    background-color: #f9f9f9;
}

/* 鼠标悬停效果 */
tbody tr:hover {
    background-color: #f1f1f1;
}

/* 可滚动表格容器 */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* iOS 平滑滚动 */
}

/* ================================
   工具栏 & 搜索框
   ================================ */
.toolbar,
.search-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.btn-toggle {
    padding: 6px 12px;
    border: none;
    border-radius: 6px;
    background-color: #007bff;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
    font-size: 13px;
    flex-shrink: 0;
    /* 防止按钮在移动端被压缩 */
}

.btn-toggle:hover {
    background-color: #0056b3;
    transform: translateY(-1px);
}

/* 搜索框自适应 */
#search-input {
    padding: 6px 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    flex: 1 1 auto;
    /* 自动拉伸 */
    min-width: 150px;
}


.search-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
    padding: 10px;
    background: #f9f9f9;
    border-radius: 5px;
    border: 1px solid #ddd;
}

.toolbar-group {
    flex: 1;
    min-width: 200px;
}

.filter-group {
    display: flex;
    gap: 10px;
}

.filter-group select {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    min-width: 50px;
}

#search-input {
    width: 100%;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
}

/* 弹窗主体 */
.swal2-game-popup {
    background: linear-gradient(145deg, #2b2b2b, #1f1f1f);
    border: 1px solid #444;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.7);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* 详情卡片容器 */
.trade-detail-card {
    padding: 10px 5px;
    text-align: left;
}

/* 头部：物品名与状态 */
.trade-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #444;
}

.item-name {
    font-size: 1.3rem;
    font-weight: bold;
    color: #ffd700;
    /* 金色 */
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    word-break: break-all;
}

.status-badge {
    color: #1a1a1a;
    font-weight: bold;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.8rem;
    text-transform: uppercase;
}

/* 核心信息网格 (2列布局) */
.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 20px;
    background: rgba(0, 0, 0, 0.2);
    padding: 15px;
    border-radius: 8px;
}

.info-item {
    display: flex;
    flex-direction: column;
}

.info-item.full-width {
    grid-column: span 2;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 10px;
    border-top: 1px solid #333;
}

.info-item .label {
    font-size: 0.8rem;
    color: #aaa;
    margin-bottom: 2px;
}

.info-item .value {
    font-size: 1.1rem;
    color: #fff;
    font-family: monospace;
}

.info-item .value.highlight {
    color: #ff6b6b;
    font-weight: bold;
    font-size: 1.4rem;
}

/* 底部信息 */
.trade-footer {
    border-top: 1px solid #444;
    padding-top: 15px;
}

.trade-footer .row {
    display: flex;
    justify-content: space-between;
    margin: 8px 0;
    font-size: 0.9rem;
}

.trade-footer .label {
    color: #888;
}

.trade-footer .text {
    color: #ddd;
    font-family: monospace;
}

.pagination {
    display: flex;
    justify-content: center;
    gap: 5px;
    flex-wrap: wrap;
}

.page-btn {
    padding: 5px 10px;
    border: 1px solid #007bff;
    background-color: #fff;
    color: #007bff;
    cursor: pointer;
    border-radius: 3px;
    font-size: 14px;
}

.page-btn:hover:not(.disabled) {
    background-color: #007bff;
    color: #fff;
}

.page-btn.active {
    background-color: #007bff;
    color: #fff;
    font-weight: bold;
}

.page-btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 商城特有样式 */
.store-header {
    text-align: center;
    margin-bottom: 30px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

/* 卡片容器 */
.shop-confirm-card {
    font-family: 'Segoe UI', sans-serif;
    color: #333;
    padding: 10px 5px;
}

/* 头部：图标+标题 */
.item-header {
    text-align: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.item-header h3 {
    margin: 10px 0 0;
    color: #2c3e50;
    font-size: 1.4em;
}

.item-icon {
    font-size: 3em;
    display: block;
}

/* 详细信息 Grid 布局 */
.item-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 15px;
    background: #f8f9fa;
    padding: 10px;
    border-radius: 6px;
}

.detail-row {
    display: flex;
    flex-direction: column;
    font-size: 0.9em;
}

.detail-row .label {
    color: #666;
    font-size: 0.8em;
    margin-bottom: 2px;
}

/* 修复描述过长错位问题 */
.detail-row .desc {
    color: #555;
    font-style: italic;

    /* 修改部分开始 */
    white-space: normal;
    /* 允许自动换行 */
    word-break: break-word;
    /* 强制长单词或无空格文本换行 */
    max-height: 60px;
    /* 限制最大高度 (大约3-4行) */
    overflow-y: auto;
    /* 超出后显示垂直滚动条 */
    line-height: 1.5;
    /* 调整行高，让文字不那么挤 */
    /* 修改部分结束 */
}

/* CDKey 显示区域容器 - 紧凑型 */
.cdkey-display {
    display: flex;
    flex-direction: column;
    /* 强制上下排列 */
    gap: 4px;
    /* 上下间距缩小 */
    background: #f8f9fa;
    padding: 6px 10px;
    /* 减小内边距 */
    border-radius: 6px;
    border: 1px solid #e9ecef;
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
    /* 防止表格溢出 */
}

/* 下半部分：状态标签 */
.cdkey-status {
    font-size: 11px;
    /* 更小的字号 */
    padding: 2px 6px;
    /* 更紧凑的内边距 */
    border-radius: 3px;
    font-weight: bold;
    align-self: flex-start;
    /* 标签宽度自适应，不占满整行 */
    /* 如果想让标签靠右，改为 align-self: flex-end; */
}

/* 状态颜色保持不变 */
.status-unused {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.status-used {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.status-unknown {
    background-color: #e2e3e5;
    color: #383d41;
    border: 1px solid #d6d8db;
}

/* =========================================
   2. 弹窗内的 CDKey 卡片样式 (新增/独立)
   ========================================= */
/* 这个类只在弹窗 HTML 中使用，不受表格样式影响 */
.cdkey-card {
    display: flex;
    /* 默认横向 */
    align-items: center;
    justify-content: space-between;
    background: #e3f2fd;
    border: 2px dashed #90caf9;
    border-radius: 8px;
    padding: 15px 20px;
    margin: 10px 0;
}

.cdkey-card {
    color: #0d47a1;
    /* 弹窗内文字颜色不同 */
    font-size: 1.5rem;
    /* 弹窗内字体更大 */
    white-space: normal;
    /* 弹窗内允许换行 */
    text-align: center;
}

/* =========================================
   3. 移动端适配 (修复冲突版)
   ========================================= */
@media (max-width: 768px) {
    /* 注意：这里加了 .table 前缀（假设你的表格有这个类），
       或者你可以用更具体的选择器，防止影响到弹窗里的 .cdkey-card */

    /* 只有表格里的 cdkey-display 才会变成垂直排列 */
    .table .cdkey-display,
    td .cdkey-display {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .table .cdkey-info,
    td .cdkey-info {
        width: 100%;
    }

    /* 弹窗里的 .cdkey-card 保持横向，或者变成垂直（看你喜欢） */
    /* 下面这段是针对弹窗内卡片的单独优化，防止在手机上太挤 */
    .cdkey-card {
        flex-direction: column;
        /* 弹窗里也改成垂直，方便复制 */
        gap: 10px;
        padding: 15px 10px;
    }

    .cdkey-card .copy-btn {
        width: 100%;
        margin-left: 0;
    }
}

/* 弹窗内的 CDKey 容器 */
.swal-cdkey-box {
    display: flex;
    align-items: center;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 5px;
    /* 整体内边距 */
    margin: 0 auto;
    max-width: 100%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* CDKey 文本样式 */
.swal-cdkey-text {
    flex: 1;
    font-family: 'Courier New', Courier, monospace;
    /* 等宽字体，方便核对 */
    font-size: 18px;
    font-weight: bold;
    color: #2c3e50;
    padding: 10px 15px;
    word-break: break-all;
    /* 防止超长字符撑破弹窗 */
    text-align: center;
    user-select: all;
    /* 允许双击全选 */
}

/* 复制按钮样式 */
.swal-copy-btn {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    font-size: 20px;
    /* Emoji 大小 */
    padding: 0 15px;
    cursor: pointer;
    transition: all 0.2s;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swal-copy-btn:hover {
    background: #e9ecef;
    border-color: #adb5bd;
    transform: scale(1.05);
}

/* 移动端适配 */
@media (max-width: 500px) {
    .swal-cdkey-box {
        flex-direction: column;
        padding: 10px;
    }

    .swal-copy-btn {
        margin-top: 10px;
        padding: 10px 20px;
        width: 100%;
    }
}

/* 针对移动端的小优化：如果屏幕特别小，滚动条可能不好用，可以取消下面的注释让它完全展开 */

@media (max-width: 480px) {
    .detail-row .desc {
        max-height: none;
        overflow-y: visible;
    }
}


/* 价格区域 */
.price-section {
    text-align: right;
    margin-bottom: 15px;
    padding: 10px;
    background: #fff8e1;
    /* 淡黄色背景强调价格 */
    border-radius: 6px;
    border: 1px solid #ffe082;
}

.price-row {
    display: flex;
    justify-content: space-between;
    margin: 5px 0;
}

.sub-price {
    color: #777;
    font-size: 0.9em;
}

.total .main-price {
    color: #d35400;
    font-weight: bold;
    font-size: 1.2em;
}

/* 钱包余额 */
.wallet-info {
    display: flex;
    justify-content: space-between;
    font-size: 0.85em;
    color: #555;
    border-top: 1px dashed #ddd;
    padding-top: 10px;
}

.new-balance {
    color: #27ae60;
    /* 绿色表示剩余 */
    font-weight: bold;
}

/* 兑换卡片容器 */
.shop-redeem-card {
    font-family: 'Segoe UI', sans-serif;
    color: #333;
    padding: 5px;
}

/* 头部样式 (复用购买弹窗的风格) */
.item-header {
    text-align: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.item-header h3 {
    margin: 10px 0 0;
    color: #2c3e50;
    font-size: 1.4em;
}

.item-icon {
    font-size: 3em;
    display: block;
}

/* 信息网格 */
.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 20px;
    background: #f8f9fa;
    padding: 10px;
    border-radius: 6px;
}

.info-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 居中显示 */
    text-align: center;
}

.info-item .label {
    color: #666;
    font-size: 0.85em;
    margin-bottom: 4px;
}

.info-item .value {
    font-weight: bold;
    color: #333;
    font-size: 1.1em;
}

/* 输入框区域 */
.input-section {
    text-align: center;
    margin-bottom: 15px;
}

.input-section label {
    display: block;
    margin-bottom: 8px;
    color: #555;
    font-weight: bold;
}

/* 自定义输入框样式 (覆盖 SweetAlert 默认样式) */
.custom-swal-input {
    width: 100%;
    padding: 12px;
    font-size: 1.2em;
    border: 2px solid #ddd;
    border-radius: 8px;
    text-align: center;
    box-sizing: border-box;
    transition: border-color 0.3s;
    outline: none;
}

.custom-swal-input:focus {
    border-color: #3085d6;
    box-shadow: 0 0 8px rgba(48, 135, 214, 0.2);
}

/* 底部总计 */
.redeem-total {
    background: #e8f5e9;
    /* 淡绿色背景，表示收益 */
    border: 1px solid #c8e6c9;
    border-radius: 6px;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.redeem-total span:first-child {
    color: #2e7d32;
    font-weight: bold;
}

.total-price {
    color: #d35400;
    /* 橙色高亮金额 */
    font-weight: bold;
    font-size: 1.3em;
}

/* ================================
   移动端自适应
   ================================ */
@media (max-width: 768px) {
    table {
        font-size: 12px;
    }

    th,
    td {
        padding: 6px 8px;
    }

    tbody tr {
        height: auto;
    }

    /* 工具栏按钮换行显示 */
    .toolbar,
    .search-toolbar {
        gap: 6px;
    }

    .btn-toggle {
        font-size: 12px;
        padding: 5px 8px;
    }

    /* 表格单元格换行显示，防止内容过宽 */
    td,
    th {
        white-space: normal;
    }

    /* 搜索框在移动端更窄 */
    #search-input {
        min-width: 100px;
        flex: 1 1 100%;
    }

    .search-toolbar {
        flex-direction: column;
    }

    .filter-group {
        width: 100%;
        justify-content: space-between;
    }

    .filter-group select {
        flex: 1;
        font-size: 12px;
    }
}

/* 超小屏幕优化 */
@media (max-width: 480px) {
    table {
        font-size: 11px;
    }

    .btn-toggle {
        padding: 4px 6px;
    }

    #search-input {
        padding: 4px 6px;
    }
}

/* 重新寄售信息容器 */
.resell-info-box {
    text-align: left;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    max-width: 100%;
    box-sizing: border-box;
}

/* 信息行 */
.resell-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #e9ecef;
    font-size: 14px;
    gap: 10px;
}

.resell-row:last-of-type {
    border-bottom: none;
}

.resell-row .label {
    color: #6c757d;
    font-weight: 500;
    white-space: nowrap;
}

.resell-row .value {
    color: #2c3e50;
    font-weight: bold;
    text-align: right;
    word-break: break-all;
}

/* 输入框区域 */
.resell-price-input {
    margin-top: 20px;
}

.resell-price-input label {
    display: block;
    margin-bottom: 8px;
    color: #2c3e50;
    font-weight: bold;
}

.input-group {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.input-group .swal2-input {
    flex: 1;
    margin: 0;
    min-width: 0;
}

.input-addon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    background: #e9ecef;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    color: #495057;
    font-weight: bold;
    white-space: nowrap;
}

/* --- 新增：实时计算区域样式 --- */
.resell-calculation {
    margin-top: 15px;
    padding: 12px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
}

.calc-row {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    font-size: 14px;
}

.calc-row.border-top {
    border-top: 1px dashed #dee2e6;
    margin-top: 5px;
    padding-top: 10px;
    font-weight: bold;
}

.calc-label {
    color: #6c757d;
}

.calc-value {
    color: #2c3e50;
    font-weight: bold;
    font-family: 'Courier New', monospace;
}

.text-danger {
    color: #dc3545;
}

.text-success {
    color: #28a745;
}

/* --- 移动端适配 --- */
@media (max-width: 576px) {
    .resell-info-box {
        padding: 10px;
    }

    .resell-row {
        flex-direction: column;
        gap: 4px;
        padding: 8px 0;
    }

    .resell-row .label {
        font-size: 12px;
        color: #adb5bd;
    }

    .resell-row .value {
        text-align: left;
        font-size: 15px;
    }

    .input-group {
        flex-direction: column;
    }

    .input-addon {
        padding: 10px;
        width: 100%;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-top: none;
        background: #fff;
    }

    .input-group .swal2-input {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border-bottom: none;
    }
}

/* --- 确认弹窗样式 --- */
.cdkey-confirm-box {
    text-align: left;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.cdkey-info-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #e9ecef;
    font-size: 14px;
}

.cdkey-info-row:last-of-type {
    border-bottom: none;
}

.cdkey-info-row .label {
    color: #6c757d;
    font-weight: 500;
}

.cdkey-info-row .value {
    color: #2c3e50;
    font-weight: bold;
    text-align: right;
    word-break: break-all;
}

.text-muted {
    color: #adb5bd !important;
    font-weight: normal !important;
    font-size: 13px;
}

.cdkey-warning {
    margin-top: 15px;
    padding: 10px;
    background: #fff3cd;
    border: 1px solid #ffeeba;
    border-radius: 4px;
    color: #856404;
    font-size: 13px;
    text-align: center;
}

/* --- 结果弹窗样式 --- */
.cdkey-result-box {
    text-align: center;
    padding: 10px 0;
}

.result-intro {
    color: #6c757d;
    margin-bottom: 15px;
    font-size: 14px;
}

/* CDKey 卡片 */
.cdkey-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #e3f2fd;
    /* 浅蓝色背景 */
    border: 2px dashed #90caf9;
    /* 虚线边框 */
    border-radius: 8px;
    padding: 15px 20px;
    margin: 10px 0;
    position: relative;
}

.cdkey-text {
    flex: 1;
    font-family: 'Courier New', Courier, monospace;
    font-size: 1.5rem;
    font-weight: bold;
    color: #0d47a1;
    text-align: center;
    user-select: all;
    /* 双击全选 */
    word-break: break-all;
}

.copy-btn {
    background: #fff;
    border: 1px solid #90caf9;
    border-radius: 6px;
    font-size: 24px;
    padding: 5px 15px;
    cursor: pointer;
    transition: all 0.2s;
    margin-left: 10px;
    color: #0d47a1;
}

.copy-btn:hover {
    background: #bbdefb;
    transform: scale(1.05);
}

.result-tip {
    font-size: 12px;
    color: #95a5a6;
    margin-top: 15px;
}

/* --- 移动端适配 --- */
@media (max-width: 576px) {
    .cdkey-info-row {
        flex-direction: column;
        gap: 4px;
    }

    .cdkey-info-row .value {
        text-align: left;
    }

    .cdkey-card {
        flex-direction: column;
        gap: 10px;
        padding: 20px 10px;
    }

    .copy-btn {
        margin-left: 0;
        width: 100%;
        padding: 10px;
    }
}

/* --- 使用说明区域样式 --- */
.usage-instruction {
    margin-top: 20px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    text-align: left;
}

.usage-title {
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 8px;
    font-size: 14px;
}

.usage-text {
    margin: 0 0 10px 0;
    color: #6c757d;
    font-size: 13px;
}

/* 指令代码块 */
.usage-code {
    background: #2c3e50;
    /* 深色背景模仿终端 */
    color: #4cd137;
    /* 绿色文字模仿代码 */
    padding: 10px 15px;
    border-radius: 6px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    margin-bottom: 10px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
    user-select: all;
    /* 允许双击选中指令 */
}

.usage-note {
    margin: 0;
    color: #adb5bd;
    font-size: 12px;
    text-align: center;
    font-style: italic;
}

/* --- 移动端适配 --- */
@media (max-width: 576px) {
    .cdkey-result-box {
        padding: 5px;
    }

    .usage-code {
        font-size: 14px;
        /* 手机端字体稍微小一点 */
        padding: 8px 10px;
        word-break: break-all;
        /* 防止超长 Key 撑破 */
    }
}

/* --- 寄售弹窗独立样式 --- */

/* 1. 容器基础重置 (确保在弹窗内不受外部干扰) */
.shop-sell-container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #333;
    line-height: 1.5;
    box-sizing: border-box;
    width: 100%;
    max-width: 500px;
    /* 限制最大宽度，防止在大屏上太宽 */
    margin: 0 auto;
}

.shop-sell-container * {
    box-sizing: border-box;
    /* 关键：防止padding撑破宽度 */
}

/* 2. 信息展示区域 */
.shop-sell-info__item {
    margin: 0 0 8px 0;
    padding: 4px 0;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    justify-content: space-between;
}

.shop-sell-info__label {
    font-weight: 600;
    color: #555;
    flex-shrink: 0;
    width: 80px;
    /* 固定标签宽度，对齐美观 */
}

.shop-sell-info__value {
    flex: 1;
    text-align: right;
    color: #2c3e50;
    font-weight: 500;
}

/* 3. 输入表单区域 (Flex布局实现自适应) */
.shop-sell-form {
    display: flex;
    flex-wrap: wrap;
    /* 允许换行 */
    gap: 15px;
    /* 间距 */
    margin: 20px 0;
}

.shop-sell-form__group {
    flex: 1 1 100%;
    /* 默认占满一行 (移动端优先) */
    display: flex;
    flex-direction: column;
}

/* 桌面端适配：当屏幕足够大时，让输入框并排 */
@media (min-width: 480px) {
    .shop-sell-form__group {
        flex: 1 1 calc(50% - 8px);
        /* 各占一半宽度 */
    }
}

.shop-sell-form__label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    color: #444;
}

.shop-sell-form__input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 16px;
    /* 防止iOS自动缩放 */
    transition: border-color 0.2s, box-shadow 0.2s;
    background-color: #fff;
}

.shop-sell-form__input:focus {
    outline: none;
    border-color: #3085d6;
    box-shadow: 0 0 0 3px rgba(48, 135, 214, 0.15);
}

/* 4. 统计与图表区域 */
.shop-sell-summary {
    border-top: 1px solid #eee;
    padding-top: 15px;
    margin-top: 10px;
    background-color: #f9f9f9;
    border-radius: 8px;
    padding: 15px;
}

.shop-sell-summary__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.shop-sell-summary__text {
    font-size: 14px;
    color: #666;
}

.shop-sell-summary__price {
    font-size: 18px;
    font-weight: 700;
    color: #3085d6;
}

/* 5. 价格趋势图表 */
.shop-sell-chart {
    margin-top: 10px;
    text-align: center;
    position: relative;
}

.shop-sell-chart__status {
    font-size: 13px;
    color: #888;
    font-style: italic;
}

/* 简单的加载动画 */
@keyframes shop-sell-pulse {
    0% {
        opacity: 0.6;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.6;
    }
}

.shop-sell-chart--loading {
    animation: shop-sell-pulse 1.5s infinite;
}

.balance-fly {
    position: absolute;
    font-weight: 900;
    font-size: 24px;
    color: #fff;
    z-index: 9999;
    pointer-events: none;

    /* 核心修改：时间改为 2s，使用 linear 保持匀速上升 */
    animation: fly-animation 2s linear forwards;

    /* 保持发光效果 */
    text-shadow:
        0 0 10px rgba(255, 215, 0, 0.8),
        2px 2px 4px rgba(0, 0, 0, 0.5);
}

@keyframes fly-animation {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    /* 修改点：在 30% 的时候就达到最大，剩下 70% 的时间都在慢慢飘远 */
    30% {
        transform: translateY(-40px) scale(1.5);
        opacity: 1;
    }

    100% {
        opacity: 0;
        /* 飘得更高更远 */
        transform: translateY(-100px) scale(1.2);
    }
}

/* ======== FILE: shop_redeem.css ======== */
/* =========================================
   PSO 终端风格核心变量 (基于截图)
   ========================================= */
:root {
    /* --- 核心背景：深青绿 (截图中的面板色) --- */
    --pso-bg-dark: #052b2b; /* 面板/卡片色：稍亮一点的青绿色 */
    --pso-panel: #0a3d3d;

    /* --- 核心高亮：经典橙色 --- */
    --pso-orange: #ff8800;
    --pso-orange-glow: rgba(255, 136, 0, 0.6);

    /* --- 辅助高亮：亮青色 --- */
    --pso-cyan: #00ffff;

    /* --- 文字颜色 --- */
    --pso-text: #e0ffff;

    /* --- 扫描线颜色 --- */
    --pso-scanline: rgba(0, 0, 0, 0.3);
}

/* =========================================
   基础布局与触发按钮
   ========================================= */
.psu-terminal-trigger {
    text-align: center;
    padding: 30px 0;
    margin-bottom: 30px;
}

/* 触发按钮：模仿游戏里的交互按钮 */
.psu-access-btn {
    background: var(--pso-orange);
    border: 2px solid #fff;
    color: #000;
    padding: 10px 30px;
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.2s;
    
    /* --- 圆角调整 --- */
    border-radius: 12px; /* 增加圆角，不再使用切角 */
    box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.5);
    font-family: "SimHei", "Microsoft YaHei", sans-serif;
}

.psu-access-btn:hover {
    background: #fff;
    color: var(--pso-orange);
    border-color: var(--pso-cyan);
    transform: scale(1.05);
}

/* =========================================
   对话框核心样式 (终端机外观)
   ========================================= */
.psu-secure-dialog {
    margin: auto;
    padding: 0;
    border: none;
    background: transparent;
    width: 90%;
    max-width: 800px;
    max-height: 85vh;
    color: var(--pso-text);
    font-family: "SimHei", "Microsoft YaHei", sans-serif;
}

/* 遮罩层 */
.psu-secure-dialog::backdrop {
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(2px);
}

/* 对话框主容器：复刻截图边框 */
.dialog-content {
    background-color: var(--pso-bg-dark);
    border: 2px solid #fff;
    outline: 2px solid var(--pso-cyan);
    outline-offset: -6px;
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    display: flex;
    flex-direction: column;
    position: relative;
    
    /* --- 圆角调整 --- */
    border-radius: 16px; /* 外层容器大圆角，视觉更柔和 */
    overflow: hidden;
}

/* --- 对话框头部 --- */
.dialog-header {
    height: 45px;
    padding: 0 20px;
    background: linear-gradient(90deg, var(--pso-orange) 0%, #cc7000 100%);
    border-bottom: 2px solid var(--pso-cyan);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    
    /* --- 圆角调整：顶部装饰条 --- */
    border-radius: 12px 12px 0 0; /* 仅左上和右上圆角，底部保持直角以连接内容 */
}

.dialog-header h3 {
    margin: 0;
    font-size: 18px;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 900;
    text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.4);
    line-height: 1;
    padding-top: 2px;
}

.close-btn {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid #000;
    color: #000;
    width: 28px;
    height: 28px;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 2px;
    
    /* --- 圆角调整 --- */
    border-radius: 50%; /* 圆形按钮 */
}

.close-btn:hover {
    background: #fff;
    color: var(--pso-orange);
    transform: rotate(90deg);
}

/* =========================================
   内容区域 (物资列表)
   ========================================= */
.psu-bounty-manifest {
    padding: 30px 25px 25px;
    overflow-y: auto;
    flex: 1;
    background: transparent;
}

.psu-grid-layout {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 20px;
    
    /* --- 圆角调整 --- */
    border-radius: 12px; /* 网格容器圆角 */
    overflow: hidden;
}

/* =========================================
   物资卡片 (数据卡)
   ========================================= */
.psu-data-card {
    background: var(--pso-panel);
    border: 1px solid var(--pso-cyan);
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.2s;
    position: relative;
    background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 0, 0, 0.1) 2px, rgba(0, 0, 0, 0.1) 4px);
    
    /* --- 圆角调整 --- */
    border-radius: 12px; /* 卡片圆角 */
}

/* 卡片角落装饰：右上角橙色三角 */
.psu-data-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 15px 15px 0;
    border-color: transparent var(--pso-orange) transparent transparent;
    /* --- 圆角调整：如果需要三角形也圆润，可以加这个，但通常保持直角更锐利 --- */
    /* clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); */
}

.psu-data-card:hover {
    background: #145050;
    border-color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 0 15px var(--pso-cyan);
    cursor: pointer;
}

.psu-visual-display {
    width: 64px;
    height: 64px;
    margin-bottom: 12px;
    background: #000;
    border: 1px solid var(--pso-cyan);
    box-shadow: inset 0 0 10px var(--pso-cyan);
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* --- 圆角调整 --- */
    border-radius: 8px; /* 图标容器微圆角 */
}

.psu-item-title {
    font-size: 14px;
    color: #fff;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
    text-shadow: 1px 1px 0 #000;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.psu-cost-indicator {
    display: inline-flex;
    align-items: center;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid var(--pso-orange);
    padding: 2px 8px;
    font-size: 13px;
    font-weight: bold;
    color: var(--pso-orange);
    font-family: "Consolas", monospace;
    
    /* --- 圆角调整 --- */
    border-radius: 20px; /* 标签胶囊化圆角 */
}

.psu-currency-symbol {
    margin-right: 4px;
    filter: drop-shadow(0 0 2px var(--pso-orange));
}

.psu-empty-state {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--pso-cyan);
    padding: 40px;
    font-size: 18px;
    text-shadow: 0 0 5px var(--pso-cyan);
    border: 1px dashed var(--pso-cyan);
    background: rgba(0, 255, 255, 0.05);
    
    /* --- 圆角调整 --- */
    border-radius: 12px;
}

/* =========================================
   滚动条样式
   ========================================= */
.psu-bounty-manifest::-webkit-scrollbar {
    width: 12px;
    background: var(--pso-bg-dark);
}

.psu-bounty-manifest::-webkit-scrollbar-track {
    border: 1px solid var(--pso-cyan);
    background: rgba(0, 0, 0, 0.2);
    
    /* --- 圆角调整 --- */
    border-radius: 10px;
}

.psu-bounty-manifest::-webkit-scrollbar-thumb {
    background: var(--pso-orange);
    border: 1px solid #fff;
    
    /* --- 圆角调整 --- */
    border-radius: 10px;
}

/* =========================================
   PSO 终端风格 - 兑换操作面板 (适配圆角)
   ========================================= */
.pso-terminal-panel {
    background-color: var(--pso-bg-dark);
    border: 1px solid var(--pso-cyan);
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.1);
    padding: 20px;
    position: relative;
    overflow: hidden;
    margin-top: 20px;
    
    /* --- 圆角调整 --- */
    border-radius: 12px;
}

.pso-terminal-panel::before {
    content: "SYSTEM: ITEM EXCHANGE // AUTHORIZED";
    position: absolute;
    top: 0;
    left: 0;
    background: var(--pso-orange);
    color: #000;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 2;
    
    /* --- 圆角调整 --- */
    border-radius: 8px 0 8px 0;
}

.pso-terminal-panel::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.2) 50%);
    background-size: 100% 4px;
    pointer-events: none;
    z-index: 1;
    opacity: 0.1;
}

.pso-item-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    position: relative;
    z-index: 2;
}

.pso-item-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(0, 255, 255, 0.05);
    border: 1px solid rgba(0, 255, 255, 0.2);
    padding: 15px;
    transition: all 0.2s ease;
    
    /* --- 圆角调整 --- */
    border-radius: 10px;
}

.pso-item-row:hover {
    background: rgba(0, 255, 255, 0.1);
    border-color: var(--pso-orange);
    box-shadow: 0 0 10px rgba(255, 136, 0, 0.2);
    transform: translateX(5px);
}

.pso-item-info {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
}

.pso-item-icon {
    width: 64px;
    height: 64px;
    background: #000;
    border: 1px solid var(--pso-cyan);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    
    /* --- 圆角调整 --- */
    border-radius: 8px;
}

.pso-item-icon::before {
    content: "+";
    position: absolute;
    color: var(--pso-cyan);
    font-size: 40px;
    opacity: 0.2;
}

.pso-item-desc {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.pso-item-name {
    color: var(--pso-text);
    font-size: 16px;
    font-weight: bold;
    text-shadow: 0 0 5px var(--pso-cyan);
    margin: 0;
}

.pso-item-price {
    color: var(--pso-orange);
    font-family: 'Courier New', monospace;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.pso-item-price::before {
    content: "💎";
}

.pso-action-area {
    display: flex;
    align-items: center;
}

.pso-btn-exchange {
    background: transparent;
    border: 1px solid var(--pso-orange);
    color: var(--pso-orange);
    padding: 8px 20px;
    font-family: 'Courier New', monospace;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s;
    
    /* --- 圆角调整 --- */
    border-radius: 20px; /* 按钮胶囊化 */
}

.pso-btn-exchange:hover {
    background: var(--pso-orange);
    color: #000;
    box-shadow: 0 0 15px var(--pso-orange-glow);
}

.pso-btn-exchange:disabled {
    border-color: #555;
    color: #555;
    cursor: not-allowed;
    background: transparent;
    box-shadow: none;
}

@media (max-width: 768px) {
    .pso-item-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .pso-action-area {
        align-self: flex-end;
    }
}

/* ======== FILE: shop_store.css ======== */
    /* 商城特有样式 */
    .store-header {
        text-align: center;
        margin-bottom: 30px;
        padding: 20px;
        background: #f8f9fa;
        border-radius: 8px;
        border: 1px solid #e9ecef;
    }

    .category-tabs {
        display: flex;
        justify-content: center;
        gap: 10px;
        margin-bottom: 30px;
        flex-wrap: wrap;
    }

    .tab-btn {
        padding: 10px 20px;
        border: 1px solid #ddd;
        background: #fff;
        border-radius: 20px;
        cursor: pointer;
        transition: all 0.2s;
        font-weight: 500;
    }

    .tab-btn.active,
    .tab-btn:hover {
        background: #007bff;
        color: #fff;
        border-color: #007bff;
    }

    .product-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 25px;
        padding: 10px 0;
    }

    .product-card {
        background: #fff;
        border: 1px solid #eee;
        border-radius: 8px;
        overflow: hidden;
        transition: transform 0.2s;
        display: flex;
        flex-direction: column;
    }

    .product-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    }

    .product-img {
        height: 150px;
        background: #f1f3f5;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 50px;
        color: #adb5bd;
    }

    .product-info {
        padding: 15px;
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    .product-name {
        font-size: 16px;
        font-weight: bold;
        margin-bottom: 5px;
        color: #212529;
    }

    .product-desc {
        font-size: 12px;
        color: #868e96;
        margin-bottom: 15px;
        flex: 1;
    }

    .product-price {
        font-size: 18px;
        color: #ff9800;
        font-weight: bold;
        text-align: right;
    }

    .buy-btn {
        width: 100%;
        padding: 10px;
        background: #007bff;
        color: #fff;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        margin-top: 10px;
        transition: background 0.2s;
    }

    .buy-btn:hover {
        background: #0056b3;
    }

    /* 库存状态文字 */
    .stock-status {
        font-size: 12px;
        color: #4caf50;
        /* 绿色 */
        margin: 5px 0;
        font-weight: bold;
    }

    .stock-status.out {
        color: #f44336;
        /* 红色 */
    }

    .stock-status.unlimited {
        color: #999;
        font-weight: normal;
    }

    /* 售罄的商品卡片整体变淡 */
    .product-card.out-of-stock {
        opacity: 0.7;
        filter: grayscale(0.8);
        /* 变灰 */
    }

    /* 禁用按钮样式 */
    .buy-btn.disabled {
        background-color: #ccc;
        cursor: not-allowed;
        color: #666;
    }

    /* 弹窗内容容器 */
    .swal-custom-content {
        padding: 10px 0;
        text-align: center;
    }

    /* 物品名称高亮 */
    .item-name-highlight {
        color: #2c3e50;
        font-size: 1.5em;
        margin: 15px 0;
        padding: 10px;
        background: #f8f9fa;
        border-radius: 8px;
        border: 1px solid #e9ecef;
        word-break: break-all;
        /* 防止名字太长 */
    }

    /* 价格标签样式 */
    .price-tag {
        display: inline-block;
        background: #fff3cd;
        /* 淡黄色背景 */
        color: #856404;
        padding: 10px 20px;
        border-radius: 50px;
        /* 胶囊形状 */
        border: 1px solid #ffeeba;
        font-size: 1.1em;
        margin-bottom: 15px;
    }

    .price-tag span {
        display: block;
        font-size: 0.8em;
        opacity: 0.8;
    }

    .price-tag strong {
        font-size: 1.4em;
        display: block;
        margin-top: 5px;
    }

    /* 底部小字提示 */
    .swal-note {
        font-size: 0.85em;
        color: #6c757d;
        margin: 0;
    }

    /* 购买成功后的 CDKey 展示框 (配合 showPurchaseReceipt 使用) */
    .cdkey-receipt-box {
        background: #f1f3f5;
        padding: 15px;
        border-radius: 6px;
        border: 1px dashed #adb5bd;
        word-break: break-all;
        font-family: 'Consolas', 'Monaco', monospace;
        font-size: 1.2em;
        color: #343a40;
        margin: 10px 0;
        user-select: all;
        /* 方便一键全选 */
    }

/* ======== FILE: shop_donate.css ======== */
:root {
    /* --- 主题配置区 (改这里即可换主题) --- */
    --primary-color: #ff4757;
    --primary-hover: #e84148;
    --success-color: #28a745;
    --bg-color: #f8f9fa;
    --text-color: #333;
    --border-color: #eee;
    --shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.donate-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 30px;
    margin-top: 20px;
}

@media (max-width: 768px) {
    .donate-wrapper {
        grid-template-columns: 1fr;
    }
}

.donate-panel {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 25px;
    box-shadow: var(--shadow);
}

.user-balance {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    color: #fff;
    text-align: center;
}

.user-balance h4 {
    margin: 0;
    font-size: 14px;
    opacity: 0.9;
}

.user-balance .points {
    font-size: 32px;
    font-weight: bold;
    margin: 10px 0 0 0;
}

.amount-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}

.amount-item {
    padding: 15px;
    border: 2px solid var(--border-color);
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    font-weight: bold;
    color: #555;
}

.amount-item:hover {
    border-color: var(--primary-color);
}

.amount-item.active {
    border-color: var(--primary-color);
    background: #e7f1ff;
    color: var(--primary-color);
}

.custom-amount {
    position: relative;
    margin-bottom: 25px;
}

.custom-amount input {
    width: 100%;
    padding: 12px;
    padding-left: 35px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 16px;
}

.currency-symbol {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-color);
    font-weight: bold;
}

.payment-methods {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.pay-method {
    flex: 1;
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
}

.pay-method.active {
    border-color: var(--success-color);
    background: #f0fff4;
    color: var(--success-color);
    font-weight: bold;
}

.submit-btn {
    width: 100%;
    padding: 15px;
    background: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
    box-shadow: 0 4px 15px rgba(255, 71, 87, 0.3);
}

.submit-btn:hover {
    background: var(--primary-hover);
}

/* 历史记录表格 */
.history-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.history-table th,
.history-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
    font-size: 14px;
}

.history-table th {
    background: var(--bg-color);
    color: #495057;
}

.status-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

.status-pending {
    background: #fff3cd;
    color: #856404;
}

.status-success {
    background: #d4edda;
    color: #155724;
}

.status-fail {
    background: #f8d7da;
    color: #721c24;
}

.note-text {
    font-size: 12px;
    color: #888;
    margin-top: 10px;
    text-align: center;
}

/* 二维码模态框样式 */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: #fefefe;
    border-radius: 10px;
    padding: 20px;
    width: 90%;
    max-width: 400px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.qrcode-img {
    width: 200px;
    height: 200px;
    margin: 10px auto;
    border: 1px solid #eee;
}

.input-trade-no {
    width: 80%;
    padding: 10px;
    margin: 15px 0;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
}

.btn-confirm {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
}

.btn-confirm:hover {
    background-color: #0056b3;
}

.btn-close {
    background-color: #6c757d;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    margin-left: 10px;
}

/* ======== FILE: shop_get_item_back.css ======== */
/* 容器样式 */
.recycle-container {
    max-width: 1000px;
    margin: 20px auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    font-family: "Microsoft YaHei", sans-serif;
}

/* 头部 */
.recycle-header {
    padding: 20px;
    background: #fee2e2;
    /* 浅红背景 */
    border-bottom: 1px solid #fecaca;
    display: flex;
    align-items: center;
}

.recycle-header h3 {
    margin: 0;
    color: #991b1b;
    font-size: 1.25rem;
}

.recycle-header p {
    margin: 5px 0 0;
    color: #7f1d1d;
    font-size: 0.9rem;
}

/* 表格样式 */
.recycle-table {
    width: 100%;
    border-collapse: collapse;
}

.recycle-table th {
    background: #f3f4f6;
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    color: #374151;
    border-bottom: 2px solid #e5e7eb;
}

.recycle-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e5e7eb;
    color: #4b5563;
}

.recycle-table tr:hover {
    background: #f9fafb;
}

/* 按钮样式 */
.btn-recycle {
    background: linear-gradient(to right, #ef4444, #dc2626);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: transform 0.1s;
}

.btn-recycle:hover {
    transform: scale(1.05);
    background: linear-gradient(to right, #dc2626, #b91c1c);
}

.empty-state {
    text-align: center;
    padding: 40px;
    color: #9ca3af;
}

/* 新增：多选框样式 */
.recycle-table input[type="checkbox"] {
    transform: scale(1.3);
    cursor: pointer;
    margin-right: 10px;
}

/* 新增：选中行的背景色 */
.recycle-table tr.selected {
    background-color: #fee2e2;
    /* 浅红色背景 */
    transition: background-color 0.2s;
}

/* 新增：批量操作栏 */
.batch-toolbar {
    padding: 15px 20px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.btn-batch {
    background: #dc2626;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
    display: none;
    /* 默认隐藏，选中后显示 */
}

.btn-batch:hover {
    background: #b91c1c;
}


/* 分页样式 */
.pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    gap: 5px;
}

.page-btn {
    padding: 8px 12px;
    border: 1px solid #ddd;
    background: #fff;
    color: #333;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.page-btn:hover {
    background: #f0f0f0;
}

.page-btn.active {
    background: #007bff;
    color: #fff;
    border-color: #007bff;
}

.page-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ======== FILE: shop_points_rank.css ======== */
    .rank-container {
        max-width: 600px;
        margin: 20px auto;
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

    .rank-header {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        padding: 20px;
        text-align: center;
        color: #fff;
    }

    .rank-header h3 {
        margin: 0;
        font-size: 1.5rem;
    }

    .rank-header p {
        margin: 5px 0 0;
        opacity: 0.9;
        font-size: 0.9rem;
    }

    .rank-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .rank-item {
        display: flex;
        align-items: center;
        padding: 15px 20px;
        border-bottom: 1px solid #eee;
        transition: background 0.2s;
    }

    .rank-item:hover {
        background: #f8f9fa;
    }

    .rank-item:last-child {
        border-bottom: none;
    }

    /* 排名数字样式 */
    .rank-num {
        width: 30px;
        font-size: 1.2rem;
        font-weight: bold;
        color: #adb5bd;
        text-align: center;
        margin-right: 15px;
    }

    .rank-item:nth-child(1) .rank-num {
        color: #ffd700;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    }

    /* 金 */
    .rank-item:nth-child(2) .rank-num {
        color: #c0c0c0;
    }

    /* 银 */
    .rank-item:nth-child(3) .rank-num {
        color: #cd7f32;
    }

    /* 铜 */

    .rank-name {
        flex: 1;
        font-weight: 500;
        color: #495057;
    }

    .rank-points {
        font-weight: bold;
        color: #ff9800;
        font-size: 1.1rem;
    }

    .rank-icon {
        margin-right: 5px;
    }

/* ======== FILE: shop_store_orders.css ======== */
    /* 订单表格样式 */
    .order-table {
        width: 100%;
        border-collapse: collapse;
        background: #fff;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        border-radius: 8px;
        overflow: hidden;
    }

    .order-table th {
        background: #f8f9fa;
        padding: 15px;
        text-align: left;
        font-weight: 600;
        color: #495057;
        border-bottom: 2px solid #dee2e6;
    }

    .order-table td {
        padding: 15px;
        border-bottom: 1px solid #dee2e6;
        color: #495057;
    }

    .order-table tr:hover {
        background: #f8f9fa;
    }

    .btn-view {
        background: #17a2b8;
        color: #fff;
        border: none;
        padding: 6px 12px;
        border-radius: 4px;
        cursor: pointer;
        font-size: 12px;
    }

    .btn-view:hover {
        background: #138496;
    }

    .status-ok {
        color: #28a745;
        font-weight: bold;
    }

    .status-err {
        color: #dc3545;
    }


    /* 分页样式 */
    .pagination {
        display: flex;
        justify-content: center;
        margin-top: 20px;
        gap: 5px;
    }

    .page-btn {
        padding: 8px 12px;
        border: 1px solid #ddd;
        background: #fff;
        color: #333;
        border-radius: 4px;
        cursor: pointer;
        transition: all 0.2s;
    }

    .page-btn:hover {
        background: #f0f0f0;
    }

    .page-btn.active {
        background: #007bff;
        color: #fff;
        border-color: #007bff;
    }

    .page-btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

/* ======== FILE: cdkey.css ======== */
/* =========================
   ������
========================= */
.cdkey-wrapper {
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
}

/* ���� */
.cdkey-title {
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: bold;
}

/* ��Ƭ */
.cdkey-card {
    background: #f1f7e9;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 20px;
}

/* =========================
   ���� & ��������
========================= */
.cdkey-search input {
    width: 100%;
    padding: 8px 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    margin-bottom: 10px;
}

#bulk-delete-btn {
    background: #e74c3c;
    margin-bottom: 10px;
}

#bulk-delete-btn:hover {
    background: #c0392b;
}

/* =========================
   ����
========================= */
.cdkey-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;

    table-layout: auto; /* ? ������ */
}

/* ��ͷ */
.cdkey-table th {
    background: #2c3e50;
    color: #fff;
    padding: 10px 6px;
    text-align: center;
    font-weight: 600;
    font-size: 13px;
}

/* ��Ԫ�� */
.cdkey-table td {
    padding: 8px 6px;
    text-align: center;
    word-break: break-word;
    font-size: 13px;
}

/* hover */
.cdkey-table tr:hover {
    background: #f9f9f9;
}

/* =========================
   �п���������˳��
========================= */

/* 1: checkbox */
.cdkey-table th:nth-child(1),
.cdkey-table td:nth-child(1) {
    width: 40px;
}

/* 2: ID */
.cdkey-table th:nth-child(2),
.cdkey-table td:nth-child(2) {
    width: 60px;
}

/* 3: CDKEY */
.cdkey-table th:nth-child(3),
.cdkey-table td:nth-child(3) {
    width: 150px;
}

/* 4: ��Ʒ */
.cdkey-table th:nth-child(4),
.cdkey-table td:nth-child(4) {
    width: 160px;
}

/* 5: ���� */
.cdkey-table th:nth-child(5),
.cdkey-table td:nth-child(5) {
    width: 240px;
}

/* 6: ʹ����� */
.cdkey-table th:nth-child(6),
.cdkey-table td:nth-child(6) {
    width: 100px;
}

/* 7~9 */
.cdkey-table th:nth-child(7),
.cdkey-table td:nth-child(7),
.cdkey-table th:nth-child(8),
.cdkey-table td:nth-child(8),
.cdkey-table th:nth-child(9),
.cdkey-table td:nth-child(9) {
    width: 80px;
}

/* 10: ���� */
.cdkey-table th:nth-child(10),
.cdkey-table td:nth-child(10) {
    width: 150px;
}

/* 11: ʱ�� */
.cdkey-table th:nth-child(11),
.cdkey-table td:nth-child(11) {
    width: 160px;
}

/* 12: ���� */
.cdkey-table th:nth-child(12),
.cdkey-table td:nth-child(12) {
    width: 140px;
}

/* =========================
   ��Ʒ
========================= */
.cdkey-item-name {
    font-weight: bold;
    color: #2c3e50;
    white-space: nowrap;
}

.cdkey-item-desc {
    color: #666;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* =========================
   ״̬
========================= */
.ok {
    color: #2ecc71;
    font-weight: bold;
}

.used {
    color: #e74c3c;
    font-weight: bold;
}

/* =========================
   ��ť
========================= */
.cdkey-wrapper button {
    padding: 5px 10px;
    border: none;
    background: #3498db;
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
}

.cdkey-wrapper button:hover {
    background: #2980b9;
}

/* ɾ����ť������ɫ */
.delete-btn {
    background: #e74c3c;
}

.delete-btn:hover {
    background: #c0392b;
}

/* checkbox ���� */
.cdkey-table input[type="checkbox"] {
    transform: scale(1.2);
    cursor: pointer;
}

/* =========================
   �����
========================= */
.cdkey-wrapper input,
.cdkey-wrapper select {
    padding: 5px;
    margin: 3px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

/* =========================
   �ƶ����Ż�
========================= */
@media (max-width: 768px) {

    .cdkey-table thead,
    .cdkey-table tr:first-child {
        display: none;
    }

    .cdkey-table tr {
        display: block;
        margin-bottom: 14px;
        background: #fff;
        border-radius: 12px;
        padding: 12px;
        box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    }

    .cdkey-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 6px 0;
        border: none;
        font-size: 13px;
    }

    /* label */
    .cdkey-table td::before {
        content: attr(data-label);
        font-weight: bold;
        color: #888;
        margin-right: 10px;
    }

    /* checkbox �� */
    .cdkey-table td:first-child {
        justify-content: flex-end;
    }

    .item-name {
        font-size: 15px;
    }

    .item-desc {
        font-size: 12px;
        -webkit-line-clamp: 3;
    }

    .cdkey-wrapper button {
        font-size: 12px;
    }
}

/* ======== FILE: online_user.css ======== */
    /* 列表样式 */
    .user-list {
        list-style-type: none;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        background: #fff;
        /* 白色背景 */
        border-radius: 8px;
        /* 圆角 */
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        /* 轻微的阴影 */
    }

    /* 用户信息样式 */
    .user-info {
        margin: 10px;
        padding: 10px;
        border: 1px solid #ccc;
        /* 边框 */
        border-radius: 5px;
        /* 圆角 */
        background-clip: padding-box;
        /* 防止背景被裁切 */
        flex-basis: calc(33% - 20px);
        /* 三列布局 */
        max-width: 200px;
        /* 最大宽度 */
        transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
        /* 过渡动画 */
    }

    .user-info:hover {
        transform: translateY(-5px);
        /* 鼠标悬停时上移 */
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
        /* 鼠标悬停时阴影加深 */
    }

    .user-header {
        display: flex;
        align-items: center;
        cursor: pointer;
    }

    .user-header img {
        margin-right: 8px;
        border-radius: 50%;
        /* 用户头像圆角 */
        width: 32px;
        /* 头像大小 */
        height: 32px;
    }

    .user-name {
        font-weight: bold;
        /* 用户名加粗 */
        color: #333;
        /* 深灰色用户名 */
    }

    /* 隐藏信息样式 */
    .hidden-info {
        display: none;
        background-color: #f9f9f9;
        /* 轻微的背景色 */
        border: 1px solid #ddd;
        /* 边框颜色 */
        padding: 20px;
        /* 增加内边距 */
        border-radius: 8px;
        /* 圆角 */
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        /* 阴影 */
        position: absolute;
        width: 100%;
        /* 宽度100% */
        max-width: 500px;
        /* 最大宽度限制提高 */
        min-width: 240px;
        /* 最小宽度保证 */
        left: 50%;
        /* 居中显示 */
        top: calc(100% + 5px);
        transform: translateX(-50%);
        /* 水平居中 */
        z-index: 100;
        transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
        visibility: hidden;
        /* 默认不可见 */
        text-align: left;
        /* 文本左对齐 */
        font-size: 14px;
        /* 字体大小 */
        line-height: 1.5;
        /* 行高 */
        color: #666;
        /* 文本颜色 */
        white-space: pre-wrap;
        /* 保持空格和换行 */
    }

    .user-info:hover .hidden-info {
        display: block;
        opacity: 1;
        visibility: visible;
        /* 鼠标悬停时可见 */
    }

    /* 响应式设计 */
    @media (max-width: 768px) {
        .hidden-info {
            left: 0;
            /* 移动端不居中显示 */
            transform: translateX(0);
            /* 不水平居中 */
            max-width: 100%;
            /* 最大宽度100% */
            border-radius: 0;
            /* 移除圆角 */
        }
    }

    @media (max-width: 480px) {
        .user-info {
            flex-basis: 100%;
            /* 一列布局 */
        }
    }

/* ======== FILE: rt_drop.css ======== */
/* 过滤器和搜索区域 */
.filter-container {
    width: 80%; /* 设置宽度与表格一致 */
    margin: 0 auto; /* 水平居中 */
    background-color: white; /* 过滤器背景色 */
    padding: 10px 20px; /* 内边距 */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 阴影效果 */
    transition: position 0.3s ease, top 0.3s ease; /* 添加过渡效果 */
}

.sticky {
    position: fixed;
    top: var(--nav-height, 75px);
    left: 0;
    right: 0;
    z-index: 900;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

/* 分页控件 */
.rt-pagination {
    width: 80%;
    margin: 10px auto;
    text-align: center;
    user-select: none;
}
.filter-container .rt-pagination {
    width: 100%;
    margin: 8px 0 0;
    text-align: left;
}
.rt-pagination span {
    margin-right: 10px;
    color: #555;
    font-size: 14px;
}
.filter-container .rt-pagination span {
    font-size: 13px;
}
.rt-pagination button {
    padding: 6px 12px;
    margin: 0 3px;
    border: 1px solid #007bff;
    background: white;
    color: #007bff;
    cursor: pointer;
    border-radius: 4px;
    font-size: 14px;
}
.filter-container .rt-pagination button {
    padding: 4px 10px;
    font-size: 13px;
}
.rt-pagination button.active {
    background: #007bff;
    color: white;
}
.rt-pagination button:hover:not(.active):not(:disabled) {
    background: #e6f2ff;
}
.rt-pagination button:disabled {
    border-color: #ccc;
    color: #999;
    cursor: not-allowed;
}

/* 掉落表格样式 */
.rt-table {
    width: 80%; /* 表格宽度 */
    border-collapse: collapse;
    margin: 20px auto 20px; /* 在表格上方留出空间，避免被过滤器覆盖 */
    text-align: left;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    background-color: white;
}

.rt-table th,
.rt-table td {
    border: 1px solid #e0e0e0;
    padding: 12px;
    transition: background-color 0.3s;
}

.rt-table th {
    background-color: #007bff;
    color: white;
    font-weight: bold;
}

.rt-table tbody tr:hover {
    background-color: #f1f1f1;
}

/* 标签样式 */
.filter-container label {
    margin-right: 10px;
    font-size: 16px;
    color: #555;
}

/* 下拉框和输入框样式 */
select,
#searchInput {
    padding: 10px;
    border: 1px solid #cccccc;
    border-radius: 4px;
    font-size: 16px;
    transition: border-color 0.3s;
    width: auto;
}

select:focus,
#searchInput:focus {
    border-color: #007bff;
    outline: none;
}

/* 清除按钮样式 */
#clearButton {
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    background-color: #ff4d4d;
    color: white;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
}

#clearButton:hover {
    background-color: #cc0000;
}


