@charset "UTF-8";
/* Homepage layout — index.html only */

/* Global tech dot grid (canvas in index.html) */
body.bosofts-home {
	background-color: #ffffff;
}

.bosofts-dots-bg {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
	opacity: 0.92;
	-webkit-mask-image: linear-gradient(
		90deg,
		#000 0%,
		#000 38%,
		rgba(0, 0, 0, 0.55) 72%,
		transparent 100%
	);
	mask-image: linear-gradient(
		90deg,
		#000 0%,
		#000 38%,
		rgba(0, 0, 0, 0.55) 72%,
		transparent 100%
	);
}

@media (prefers-reduced-motion: reduce) {
	.bosofts-dots-bg {
		opacity: 0.75;
	}
}

.main_adv_img li {
	position: relative;
}

/* Hero: light blue-grey letterbox (object-fit: contain side bars) */
#slideBox2.main_adv_box {
	--bosofts-hero-bg: #eef2f7;
	height: clamp(620px, 65vh, min(720px, 85vh));
	box-sizing: border-box;
	background: var(--bosofts-hero-bg);
}

#slideBox2 .main_adv_img ul {
	margin: 0;
	padding: 0;
	list-style: none;
	height: 100%;
	background-color: var(--bosofts-hero-bg, #eef2f7);
}

#slideBox2 .main_adv_img li {
	background-color: var(--bosofts-hero-bg, #eef2f7);
}

#slideBox2 .main_adv_img li > span {
	display: block;
	height: 100%;
	line-height: 0;
	background-color: var(--bosofts-hero-bg, #eef2f7) !important;
	background-image: none !important;
}

#slideBox2 .main_adv_img {
	height: 100%;
	width: 100%;
	max-width: var(--content-width, 1200px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	background-color: var(--bosofts-hero-bg, #eef2f7);
}

.slide-text-container {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    text-align: center;
    z-index: 10;
	width: 100%;
	pointer-events: none;
}

.slide-text-container h1 {
    font-size: 52px;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
	margin-bottom: 20px;
}

.slide-text-container h2 {
    font-size: 32px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
	margin-bottom: 20px;
	font-weight: normal;
}

.slide-text-container p {
    font-size: 20px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
	font-weight: normal;
	line-height: 1.5;
}

.slide-text-container.slide-text-container--video {
	pointer-events: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	padding: 0;
	transform: none;
	display: block;
	box-sizing: border-box;
	z-index: 10;
	background-color: var(--bosofts-hero-bg, #eef2f7);
}

.hero-video-frame {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	overflow: hidden;
	border-radius: 0;
	box-shadow: none;
	background: var(--bosofts-hero-bg, #eef2f7);
}

.hero-poster-link {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	display: block;
	text-decoration: none;
	background-color: var(--bosofts-hero-bg, #eef2f7);
	transition: opacity 0.35s ease;
}

.hero-poster-link .hero-poster-cover {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	pointer-events: none;
}

.hero-poster-link.hero-poster-cover--done {
	opacity: 0;
	pointer-events: none;
}

.slide-text-container--video .hero-video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: contain;
	object-position: center center;
	display: block;
	background-color: var(--bosofts-hero-bg, #eef2f7);
	z-index: 1;
	cursor: default;
}

/* Keep partner showcase image aligned with page content width */
.home_partner > img[alt=""] {
	display: block;
	width: min(100%, 1200px);
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

/* Wide screens: keep original header layout from tpl; hide mobile-only controls */
@media (min-width: 1200px) {
	#hd > .bosofts-nav-cb,
	#hd > label.nav-menu-btn {
		display: none !important;
	}
}

/* ----- Mobile / narrow screens (overrides tpl min-width layout) ----- */
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@media (max-width: 1199.98px) {
	body {
		min-width: 0 !important;
		overflow-x: hidden;
	}

	.blank85 {
		height: clamp(56px, 14vw, 72px);
	}

	#hdw {
		height: auto;
		min-height: 56px;
	}

	/* public.css sets #hd { min-width: 750px } — breaks phone layout */
	#hd {
		width: 100%;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 auto;
		padding: 8px 12px 10px;
		box-sizing: border-box;
		min-height: 0;
		position: relative;
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"logo toggle"
			"nav nav";
		align-items: center;
		column-gap: 10px;
		row-gap: 0;
	}

	/* Checkbox must be first inside #hd so :checked ~ ul.nav works; label toggles via [for] */
	#hd > .bosofts-nav-cb {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
		border: 0 !important;
		appearance: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	#hd > label.nav-menu-btn {
		grid-area: toggle;
		justify-self: end;
		align-self: center;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		box-sizing: border-box;
		border: 1px solid #ddd;
		border-radius: 8px;
		background: #fff;
		cursor: pointer;
		touch-action: manipulation;
		box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	}

	#hd > label.nav-menu-btn::before {
		content: "";
		width: 20px;
		height: 2px;
		background: #333;
		box-shadow: 0 6px 0 #333, 0 -6px 0 #333;
		border-radius: 1px;
	}

	#hd .logo {
		grid-area: logo;
		position: static !important;
		display: block;
		text-align: left !important;
		margin: 0 !important;
		justify-self: start;
	}

	#hd .logo img {
		max-width: min(220px, 58vw);
		height: auto;
		vertical-align: middle;
	}

	#hd .nav {
		grid-area: nav;
		position: static !important;
		float: none !important;
		right: auto !important;
		top: auto !important;
		display: none;
		flex-direction: column;
		flex-wrap: nowrap;
		width: 100%;
		max-width: 100%;
		margin: 8px 0 0;
		padding: 8px 0 4px;
		border-top: 1px solid #eee;
		overflow: visible;
		gap: 0;
		box-sizing: border-box;
	}

	#bosofts-nav-cb:checked ~ ul.nav {
		display: flex !important;
	}

	#hd .nav li {
		float: none !important;
		width: 100%;
		border-top: 0;
		border-bottom: 1px solid #f0f0f0;
	}

	#hd .nav li .a_top {
		padding: 0;
	}

	#hd .nav li a {
		line-height: 48px;
		height: auto;
		min-height: 48px;
		font-size: 15px;
		padding: 0 4px;
		white-space: normal;
		display: block;
		text-align: left;
	}

	/* Mobile: show sub-nav inline (hide empty dropdowns) */
	#hd .nav li .cp_list:not(:has(.nav-sublinks li)) {
		display: none !important;
	}
	#hd .nav li .cp_list {
		display: block !important;
		position: static !important;
		left: auto !important;
		top: auto !important;
		padding: 0 0 4px 12px !important;
		overflow: visible !important;
	}
	#hd .nav li .cp_list .nav_list {
		box-shadow: none;
		border: 0;
		background: transparent;
	}
	#hd .nav li .cp_list .nav-sublinks li a {
		line-height: 40px;
		min-height: 40px;
		font-size: 14px;
		font-weight: normal;
		color: var(--color-muted);
	}

	.warp {
		max-width: 100%;
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}

	#slideBox2.main_adv_box {
		height: clamp(280px, 48vh, 640px);
	}

	#slideBox,
	#slideBox .bd,
	#slideBox .bd ul {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	#slideBox .bd li {
		float: none !important;
		width: 100% !important;
		clear: both;
	}

	.main_title .title_tit {
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: 30px;
		line-height: 1.5;
		padding: 0 8px;
		box-sizing: border-box;
	}

	.main_title .lead {
		font-size: 14px;
		display: block;
	}

	/* Product cards: single column */
	.section1 .box,
	.section1 .box.box1,
	.section1 .box.box2,
	.section1 .box.box3,
	.section1 .box.box4 {
		float: none !important;
		width: 100% !important;
		max-width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 20px;
		box-sizing: border-box;
	}

	.section1 .box_txt p.product-desc {
		font-size: 15px !important;
		line-height: 1.55 !important;
	}

	/* Section2: tablet — 2 per row */
	.section2 .boxes {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		width: 100%;
	}

	.section2 .box {
		float: none !important;
		width: 100% !important;
		min-width: 0;
		max-width: none !important;
		height: auto !important;
		margin: 0 !important;
		box-sizing: border-box;
	}

	.section2 .box_img img {
		max-width: 100%;
		height: auto;
	}

	/* Flow diagram + rich text images */
	.section3 .fff img,
	.section3 img[width="980"],
	.richContent img {
		max-width: 100% !important;
		width: auto !important;
		height: auto !important;
	}

	.section3 p span {
		font-size: 15px !important;
		line-height: 1.65 !important;
	}

	/* News + partner blocks */
	.home_news_text,
	.home_partner_text {
		max-width: 100%;
		padding: 0 8px;
		box-sizing: border-box;
		font-size: 14px !important;
		line-height: 1.6 !important;
	}

	.home_news_title img,
	.home_partner_title img {
		max-width: min(100%, 310px);
		height: auto;
	}

	.home_partner img[alt=""] {
		width: 100%;
		height: auto;
	}

	body.bosofts-home .bosofts-footer #ftbox,
	body.bosofts-home .bosofts-footer #ftbox2 {
		overflow-x: hidden;
	}

	body.bosofts-home .bosofts-footer #ftbox2 .box {
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}

	body.bosofts-home .bosofts-footer #ftbox2 .box p {
		font-size: 12px;
		word-break: break-word;
	}

	.btna,
	.btn {
		touch-action: manipulation;
	}
}

@media (max-width: 480px) {
	#slideBox2.main_adv_box {
		height: clamp(220px, 38vh, 420px);
	}

	#hd .nav li a {
		font-size: 13px;
		padding: 0 8px;
	}

	.section2 .boxes {
		grid-template-columns: 1fr;
	}

	.section2 .box {
		width: 100% !important;
		max-width: none !important;
	}
}

/* ----- Modern tech enhancements ----- */
.section1 .box {
	border-radius: var(--radius-md);
	border-bottom: none;
	box-shadow: var(--shadow-card);
	overflow: hidden;
	transition: box-shadow var(--transition-base), transform var(--transition-base);
}

@media (hover: hover) {
	.section1 .box:hover {
		box-shadow: var(--shadow-hover);
		transform: translateY(-4px);
	}
}

.section2 {
	background: var(--color-surface);
}

.section2 .boxes .box {
	background: var(--color-page);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 12px 8px;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
	box-sizing: border-box;
}

@media (hover: hover) {
	.section2 .boxes .box:hover {
		border-color: var(--color-primary-light);
		box-shadow: var(--shadow-card);
	}
}

/* Desktop: service list — 4 items per row (2 rows × 4) */
@media (min-width: 981px) {
	.section2 .boxes {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 20px;
		width: 100%;
		overflow: visible;
	}

	.section2 .boxes::after {
		display: none;
	}

	.section2 .box {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 220px;
		margin: 0 !important;
	}
}

/* Main intro above product cards — prevent text overlapping card images */
.main_title {
	position: relative;
	z-index: 2;
	padding-bottom: 28px;
	margin-bottom: 12px;
	overflow: visible;
}

.main_title .title_img {
	display: block;
	height: 105px;
	margin-bottom: 8px;
}

.main_title .title_tit {
	width: 100% !important;
	max-width: var(--content-width, 1200px);
	height: auto !important;
	min-height: 0;
	line-height: 1.65 !important;
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
	overflow: visible;
}

.main_title tg,
.main_title .lead,
.main_title .page-lead {
	display: block;
	color: var(--color-muted);
	font-size: 16px;
	font-weight: normal;
	text-align: center;
	line-height: 1.65;
	margin: 0;
	white-space: normal;
	overflow: visible;
}

.main_title .page-lead {
	font-size: 17px;
}

.section1 .boxes {
	clear: both;
	margin-top: 8px;
	position: relative;
	z-index: 1;
}

.section3 .title_tit .lead {
	color: var(--color-muted);
	font-size: 16px;
	font-weight: normal;
	text-align: center;
	line-height: 1.65;
	margin: 0;
}

/* News: reset legacy float/clearfix; 6 items = 3×2 grid */
.home_news_list {
	background: var(--color-page, #f0f4fc);
	margin-top: 34px;
	padding: 40px 16px 32px;
}

.home_news_list .wrap {
	width: 100%;
	max-width: var(--content-width, 1200px);
	margin: 0 auto;
	padding: 0;
	border: 0;
}

.home_news_list_inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	max-width: var(--content-width, 1200px);
	margin: 0 auto;
}

.home_news_list_inner .c {
	display: none !important;
}

.home_news_item {
	float: none !important;
	width: auto !important;
	height: auto !important;
	min-height: 0;
	margin: 0 !important;
	padding: 18px !important;
	overflow: visible;
	position: relative;
	z-index: 1;
	background: var(--color-surface);
	border: 1px solid var(--color-border) !important;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-card);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
	box-sizing: border-box;
}

.home_news_item:hover {
	padding: 18px !important;
	margin: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	border-color: var(--color-primary) !important;
	box-shadow: var(--shadow-hover);
}

.home_news_item dl {
	position: static !important;
	top: auto !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: left;
	transition: none;
}

.home_news_item:hover dl {
	top: auto !important;
}

.home_news_item dl dt {
	background: none !important;
	padding-top: 0 !important;
	font-size: 13px;
	color: var(--color-primary);
	font-weight: 600;
	text-align: left;
}

.home_news_item dl dd.t {
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	line-height: 1.45 !important;
	overflow: visible;
}

.home_news_item dl dd.t a {
	display: block;
	text-align: left;
	font-size: 16px;
	font-weight: 600;
	color: var(--color-text);
	line-height: 1.45;
}

.home_news_item:hover dl dd.t a {
	color: var(--color-primary);
}

.home_news_item dl dd.spec {
	width: auto !important;
	overflow: hidden;
}

.home_news_item dl dd.spec a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	text-align: left;
	font-size: 13px;
	line-height: 1.6;
	color: var(--color-muted);
}

.home_news_item:hover dl dd.spec a {
	color: var(--color-muted);
}

.btn_news_more {
	border: 1px solid var(--color-primary) !important;
	border-radius: var(--radius-sm);
	margin: 28px auto 8px;
	width: 140px;
	background: var(--color-surface);
}

.btn_news_more a {
	color: var(--color-primary) !important;
	line-height: 40px;
}

@media (max-width: 980px) {
	.home_news_list_inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

@media (max-width: 600px) {
	.home_news_list_inner {
		grid-template-columns: 1fr;
	}
}

body.bosofts-home .section6 .home_partner {
	width: 100%;
	max-width: var(--content-width, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding-left: 16px;
	padding-right: 16px;
	box-sizing: border-box;
}

.home_partner > img,
.home_partner .partner-showcase-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 16px auto 0;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-card);
}

#slideBox .hd li.on {
	background: var(--color-primary);
}

/* Desktop: 4 product cards in one row (fill 4th column — Bowi AI Agent) */
@media (min-width: 981px) {
	#slideBox.slideBox {
		overflow: visible;
		width: 100%;
	}

	#slideBox .bd {
		overflow: visible;
	}

	#slideBox .bd ul {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px;
		width: 100%;
		overflow: visible;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	#slideBox .bd li {
		float: none !important;
		width: auto !important;
		clear: none !important;
	}

	.section1 #slideBox .box,
	.section1 .box.box1,
	.section1 .box.box2,
	.section1 .box.box3,
	.section1 .box.box4 {
		width: 100% !important;
		max-width: none;
		margin-right: 0 !important;
		margin-top: 0 !important;
		float: none !important;
	}

	#slideBox .hd {
		display: none;
	}
}

.section2 .s_tit,
.section3 .s_tit {
	font-weight: 700;
	letter-spacing: 0.03em;
	color: var(--color-text);
}

.box_txt p.product-desc {
	text-align: left;
	padding-top: 10px;
	margin: 0;
	font-size: 13px;
	line-height: 22px;
	color: #444;
}

.section3-flow-img {
	text-align: center;
	margin: 0;
}

.section3-tagline {
	text-align: center;
	color: #7f7f7f;
	font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
	font-size: 18px;
	line-height: 1.8;
	margin: 0 0 0.25em;
}

/* Footer — aligned with /erp/ landing page */
body.bosofts-home .bosofts-footer {
	position: relative;
	z-index: 1;
	padding: 56px 16px 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	background: #1a1a2e;
	color: #e0e0e0;
	overflow: hidden;
}

body.bosofts-home .bosofts-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(126, 184, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(126, 184, 255, 0.06) 1px, transparent 1px);
	background-size: 48px 48px;
	opacity: 0.85;
}

body.bosofts-home .bosofts-footer .ftw {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--content-width, 1200px);
	margin: 0 auto;
	box-sizing: border-box;
}

body.bosofts-home .bosofts-footer #ftbox {
	margin-bottom: 30px;
	background: transparent;
	border-bottom: none;
	width: 100%;
}

body.bosofts-home .bosofts-footer #ftbox2 {
	background: transparent;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 20px;
	margin-top: 30px;
	width: 100%;
}

body.bosofts-home .bosofts-footer #ft {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 40px 48px;
	align-items: start;
	max-width: none;
	min-width: 0;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	float: none;
}

body.bosofts-home .bosofts-footer #ft dl.f_1 {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.bosofts-home .bosofts-footer .dl1,
body.bosofts-home .bosofts-footer .dl2,
body.bosofts-home .bosofts-footer .dl3 {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
}

body.bosofts-home .bosofts-footer .dl2 {
	justify-self: start;
	align-items: flex-start;
}

body.bosofts-home .bosofts-footer .dl1 {
	justify-self: center;
}

body.bosofts-home .bosofts-footer .dl3 {
	justify-self: end;
	align-items: flex-end;
}

body.bosofts-home .bosofts-footer .end_1,
body.bosofts-home .bosofts-footer .end_2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 15px;
	float: none;
	margin: 0;
	background: none;
}

body.bosofts-home .bosofts-footer .end_2 {
	align-items: flex-start;
	text-align: left;
}

body.bosofts-home .bosofts-footer .dl3 {
	align-items: flex-end;
	text-align: right;
}

body.bosofts-home .bosofts-footer .dl3 ._link::after {
	left: auto;
	right: 0;
}

body.bosofts-home .bosofts-footer .dl3 ._link_1 {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 0;
	float: none;
}

body.bosofts-home .bosofts-footer ._link {
	font-size: 18px;
	font-weight: 600;
	color: #7eb8ff;
	margin-bottom: 20px;
	font-family: var(--font-display);
	letter-spacing: 1px;
	position: relative;
	display: inline-block;
	padding: 0;
	background: none;
	line-height: 1.4;
}

body.bosofts-home .bosofts-footer ._link::after {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 40px;
	height: 2px;
	background: #7eb8ff;
}

body.bosofts-home .bosofts-footer .lianxi_1 {
	font-size: 28px;
	font-weight: 700;
	color: #fff;
	margin: 15px 0;
	font-family: var(--font-display);
	letter-spacing: 2px;
	padding: 0;
	text-indent: 0;
	height: auto;
	line-height: 1.2;
}

body.bosofts-home .bosofts-footer .shouqian,
body.bosofts-home .bosofts-footer .shouqian span {
	color: #b0b0b0;
	font-size: 14px;
	line-height: 2;
	margin: 8px 0;
}

body.bosofts-home .bosofts-footer .wechat-qrcode {
	margin-top: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
}

body.bosofts-home .bosofts-footer .wechat-qrcode img {
	width: 160px;
	height: 160px;
	max-width: 100%;
	display: block;
	object-fit: contain;
	border-radius: 12px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	padding: 10px;
	background: rgba(255, 255, 255, 0.08);
	box-sizing: border-box;
	transition: transform 0.3s ease, border-color 0.3s ease;
}

body.bosofts-home .bosofts-footer .wechat-qrcode img:hover {
	border-color: var(--color-primary-light);
	transform: scale(1.05);
}

body.bosofts-home .bosofts-footer .footqq,
body.bosofts-home .bosofts-footer .footemail,
body.bosofts-home .bosofts-footer .footadd {
	padding-left: 0;
	background: none;
	text-align: inherit;
}

body.bosofts-home .bosofts-footer .footqq a {
	color: #b0b0b0;
	text-decoration: none;
	transition: color 0.3s ease;
}

body.bosofts-home .bosofts-footer .footqq a:hover {
	color: #7eb8ff;
}

body.bosofts-home .bosofts-footer #ftbox2 .box {
	max-width: none;
	height: auto;
	line-height: 1.8;
	text-align: center;
}

body.bosofts-home .bosofts-footer #ftbox2 .box p {
	color: #a0a0a0;
	font-size: 14px;
	line-height: 1.8;
	margin: 0;
}

body.bosofts-home .bosofts-footer .footer-company-link {
	color: #c0c0c0;
	text-decoration: none;
	transition: color 0.3s ease;
}

body.bosofts-home .bosofts-footer .footer-company-link:hover,
body.bosofts-home .bosofts-footer #ftbox2 .beian-link:hover {
	color: #7eb8ff;
	text-decoration: underline;
}

body.bosofts-home .bosofts-footer #ftbox2 .beian-link {
	color: #a1a0a0;
	text-decoration: none;
	transition: color 0.3s ease;
}

body.bosofts-home .bosofts-footer .footer-slogan {
	margin-top: 12px;
	font-size: 13px;
	color: #888;
}

@media (max-width: 968px) {
	body.bosofts-home .bosofts-footer #ft {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.bosofts-home .bosofts-footer .end_2,
	body.bosofts-home .bosofts-footer .dl3,
	body.bosofts-home .bosofts-footer .dl3 ._link_1 {
		align-items: center;
		text-align: center;
	}

	body.bosofts-home .bosofts-footer .lianxi_1 {
		font-size: 24px;
	}

	body.bosofts-home .bosofts-footer .wechat-qrcode img {
		width: 140px;
		height: 140px;
	}
}
