

:root {
	--gb-primary: #e9b10a;
	--gb-primary-dark: #cf9c07;
	--gb-title: #595959;
	--gb-text: #676767;
	--gb-muted: #828282;
	--gb-bg-soft: #f5f6f7;
}

html { -webkit-font-smoothing: antialiased; }
body { background: #ffffff; }
::selection { background: var(--gb-primary); color: #fff; }


.build {
	background: linear-gradient(135deg, #c98f04 0%, #e9b10a 45%, #f6c623 100%);
}
.build-left h1 { color: #fff; letter-spacing: 1px; }
.build-left h1 span { color: #171717; font-weight: 700; }
.build-left h2 { color: #fff; letter-spacing: 1px; }
.build-left p { color: rgba(255, 255, 255, 0.9); }
.build-right a {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 30px;
	padding: 14px 30px;
	font-size: 20px;
	letter-spacing: 1px;
	backdrop-filter: blur(2px);
}
.build-right a:hover {
	background: #fff;
	color: #b8860b;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
	text-decoration: none;
}

/* ---------------- Banner ---------------- */
.banner { padding-bottom: 1em; }
.banner .callbacks_container {
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.banner-1, .banner-2, .banner-3 {
	background-size: cover !important;
	background-position: center;
}

/* ---------------- ---------------- */
.about-main h3,
#genelibsgenome h3,
#genelibsfunctionalgenome h3,
#genelibsplatform h3,
.work-top h3 {
	color: var(--gb-title);
	text-align: center;
	position: relative;
	padding-bottom: 14px;
	margin-bottom: 1.4em !important;
	font-weight: 600;
}
.about-main h3::after,
#genelibsgenome h3::after,
#genelibsfunctionalgenome h3::after,
#genelibsplatform h3::after,
.work-top h3::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #f2c14e, var(--gb-primary-dark));
}

/* ----------------  ---------------- */
.about { background: #fff; }
.about-main h5 {
	color: var(--gb-text);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.95em;
	text-align: justify;
}
.about-text-left {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1);
	padding: 22px 18px;
	transition: transform .3s ease, box-shadow .3s ease;
}
.about-text-left:hover {
	transform: translateY(-6px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}
.about-text-left img { border-radius: 8px; }
.about-text-left h5 { color: var(--gb-title); font-weight: 600; }

/* */
@media (min-width: 769px) {
	.about-text { display: flex; flex-wrap: wrap; gap: 20px; }
	.about-text .col-md-4 { width: calc(33.3333% - 13.4px); float: none; display: flex; }
	.about-text-left {
		display: flex;
		flex-direction: column;
		flex: 1;
	}
	.about-text-left img { height: 190px; object-fit: cover; }
	.about-text-left p { flex: 1; }
}


#genelibsgenome h4,
#genelibsfunctionalgenome h4,
#genelibsplatform h4 {
	color: var(--gb-text);
	font-size: 16px;
	font-weight: 400;
	line-height: 2em;
	text-align: justify;
}

#genelibsplatform h4 {
	position: relative;
	padding-left: 20px;
	text-align: left;
}
#genelibsplatform h4::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 12px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gb-primary);
}


.design { background: var(--gb-bg-soft); }
.design-text {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
	padding: 2.4em 1.2em;
	transition: transform .3s ease, box-shadow .3s ease;
}
.design-text:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}
.design-text h3 { color: var(--gb-title); font-weight: 600; }
.design-text p { color: var(--gb-muted); }


.work { background: #fff; }
.work-bottom {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1);
	padding: 1.4em 0;
}
.work-mian p, .work-one p { color: var(--gb-title); }
.work-mian p span, .work-one p span { color: var(--gb-muted) !important; }


.project { background: var(--gb-bg-soft); border-radius: 10px; }
.item img { border-radius: 6px; }


.clients { background: #fff; }
.clients-top h3 { color: var(--gb-title); }


/* ---------------- 手机端导航（与 ai.genelibs.org 移动端方案一致） ---------------- */
#menu_toggle { display: none; }

@media (max-width: 900px) {
	html, body { overflow-x: hidden; }
	#main_head_box {
		position: sticky;
		top: 0;
		z-index: 9999;
		background: #fff;
		box-shadow: 0 1px 8px rgba(0, 0, 0, 0.08);
	}
	#main_head_box #menu_wrap {
		width: 100%;
		height: auto;
		padding: 0;
		position: relative;
		min-height: 54px;
		box-sizing: border-box;
	}
	/* 与 ai.genelibs.org 移动端方案一致；选择器必须用 3 个 ID，
	   否则压不过 style.css 桌面端 #main_head_box #menu_wrap #menu_logo 等的规则 */
	#menu_toggle {
		display: flex;
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
		width: 34px;
		height: 34px;
		padding: 0;
		border: 1px solid #e5e5e5;
		border-radius: 6px;
		background: #fff;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		cursor: pointer;
		box-sizing: border-box;
		z-index: 3;
		text-decoration: none;
		outline: none;
	}
	#menu_toggle span {
		display: block;
		width: 18px;
		height: 2px;
		background: #555;
		margin: 0;
		border-radius: 2px;
	}
	#menu_toggle:hover span { background: #F45551; }
	#main_head_box #menu_wrap #menu_logo {
		width: auto;
		height: 54px;
		line-height: normal;
		margin: 0 auto;
		float: none;
		text-align: center;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#main_head_box #menu_wrap #menu_logo a { display: inline-flex; align-items: center; }
	#main_head_box #menu_wrap #menu_logo img {
		max-height: 38px;
		max-width: 100%;
		width: auto;
		height: auto;
		margin: 0;
		display: inline-block;
		vertical-align: middle;
	}
	#main_head_box #menu_wrap #menu_nav {
		display: none;
		float: none;
		width: 100%;
		height: auto;
		margin: 0;
		margin-left: 0;
		background: #fff;
		border-top: 1px solid #f0f0f0;
		position: absolute;
		top: 54px;
		left: 0;
		z-index: 999;
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
		clear: both;
	}
	#main_head_box #menu_wrap #menu_nav.show_m { display: block; }
	#main_head_box #menu_wrap #menu_nav ul {
		list-style: none;
		width: 100%;
		padding: 0;
		margin: 0;
	}
	#main_head_box #menu_wrap #menu_nav ul li {
		float: none;
		display: block;
		width: 100%;
		line-height: 44px;
		padding: 0 14px;
		text-align: left;
		border-bottom: 1px solid #f5f5f5;
	}
	#main_head_box #menu_wrap #menu_nav ul li a {
		display: block;
		width: 100%;
		font-size: 14px;
		color: #2b2b2b;
	}
	#main_head_box #menu_wrap #menu_nav ul li:hover {
		background: #fafafa;
		border-bottom: 1px solid #f5f5f5;
	}
	#main_head_box #mainbut {
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		float: none;
		z-index: 3;
	}
	#main_head_box #mainbut p.tiy {
		display: inline-block !important;
		margin: 0;
		padding: 5px 10px;
		background-color: #F88E8B;
		color: #fff;
		border-radius: 4px;
		font-size: 12px;
		line-height: 1.4;
		white-space: nowrap;
		box-sizing: border-box;
	}

	/* 中部内容显示全：覆盖全局样式中的定宽溢出 */
	.about-text-left { margin-bottom: 14px; }
	.design-text { margin: 6px 0 14px; }

	.build, .build .container, .banner, .about, .design, .work, .project, .clients,
	.touch, .footer { width: auto; min-width: 0; max-width: 100%; }
	.container { width: 100% !important; max-width: 100%; padding-left: 12px; padding-right: 12px; box-sizing: border-box; }
	img { max-width: 100%; height: auto; }
	/* 所有可能的定宽内容容器强制自适应 */
	.about-main, .design-main, .work-bottom, .clients-bottom, .touch-main,
	.about-main *, .design-main * {
		max-width: 100%;
		box-sizing: border-box;
	}

	/* 金黄/数据库特点 横幅：标题整行、按钮整行水平并排不换行 */
	.build-left, .build-right { width: 100%; float: none; text-align: left; }
	.build-left h2, .build-left h1 { font-size: 20px; line-height: 1.5; margin-bottom: 8px; }
	/* 覆盖 style.css 640px 断点的 height:22px + overflow:hidden，避免描述文字被截断 */
	.build-left p { font-size: 14px; line-height: 1.8; margin: 0 0 6px; height: auto; overflow: visible; }
	.build-right { padding-top: 10px; }
	.build-right a {
		display: inline-block;
		width: auto;
		padding: 8px 22px;
		margin: 4px 10px 4px 0;
		font-size: 15px;
		line-height: 1.4;
		white-space: nowrap;
		text-align: center;
	}
	/* Banner 高度随屏宽等比缩放，避免小屏过高或文字区被压 */
	.banner-1, .banner-2, .banner-3 { min-height: 180px; height: 44vw; max-height: 340px; }

	/* 联系方式区：三列变整行、二维码居中 */
	.touch .touch-left, .touch .touch-right { width: 100%; float: none; margin-bottom: 14px; }
	.touch .touch-right { text-align: center; }
	.touch .touch-right img { margin-top: 8px; }

	/* JSF 模板（common.xhtml）内容区用 570px 占位图保持最小宽度，移动端取消避免横向溢出 */
	#content td.maincontent > img[width="570"] { width: 0 !important; }
	/* JSF 皮肤样式 css/style.css 给 .maincontent 设了 min-width:570px，移动端取消 */
	#content td.maincontent { min-width: 0 !important; }
	/* JSF 模板内容表格的固定最小高度（内联 min-height:72vh）和 440px 占位图，移动端取消，避免大片空白 */
	#content > table { min-height: 0 !important; height: auto !important; }
	#content td > img[height="440"] { height: 0 !important; }

	/* Bootstrap 栅格在 <992px 只有 float 没有宽度，强制整行堆叠 */
	.build-mian .col-md-8, .build-mian .col-md-4,
	.design-main .col-md-3, .work-bottom .col-md-6, .touch-main .col-md-4 {
		width: 100%;
		float: none;
	}

	/* 最新项目区：清除 style.css 各断点残留的 margin-left 百分比和负 margin 定位 */
	.work-mian p { font-size: 15px; margin: 8px 0; line-height: 1.5; }
	.work-mian p span {
		display: block;
		margin-left: 0 !important;
		font-size: 14px;
		line-height: 1.6;
	}
	.work-one { margin-top: 12px; }
	.work-one p { font-size: 15px; }
	.work-one p span {
		display: block;
		margin-left: 0 !important;
		margin-top: 6px !important;
		height: auto !important;
		font-size: 14px;
		line-height: 1.9;
	}
	.work-one p label { margin-left: 0 !important; }
	.work-left img { border-radius: 6px; margin-bottom: 12px; }
	/* 播放按钮改到右下角，避免遮挡内容 */
	.pop-up { bottom: 10px; left: auto; right: 12px; }
	.pop-up a img { width: 44px; }

	/* 项目轮播：手机上每格很窄，悬浮标签改为图片下方静态显示 */
	.project { padding: 1.5em 12px 2.5em; }
	.project .item { position: relative; margin: 0 4px; }
	.project-name {
		position: static;
		width: 100%;
		left: 0;
		padding: 6px 10px;
		border-radius: 0 0 6px 6px;
	}
	.project-name p { font-size: 13px; line-height: 1.4; }
	.project-name span { display: none; }

	/* 覆盖 style.css 480px 断点的 width:65% */
	.clients-top h3 { width: 100%; font-size: 1.45em; line-height: 1.5; }
	.clients-bottom p { font-size: 15px; line-height: 1.8; }

	/* 页脚 */
	.footer-text p { font-size: 13px; line-height: 1.8; }
	.footer-text a.scroll img { width: 40px; height: auto; }
}

/* ≤768px：三张"主要部分"卡片改为整行堆叠（769px 以上保持三列 flex） */
@media (max-width: 768px) {
	.about-text .col-md-4 { width: 100%; float: none; }
}

/* ≤360px 小屏微调（与 ai.genelibs.org 一致）：logo 和登录按钮再小一号 */
@media (max-width: 360px) {
	#main_head_box #menu_wrap #menu_logo img { max-height: 32px; margin-top: 0; }
	#main_head_box #mainbut p.tiy { padding: 4px 8px; font-size: 11px; }
}
