/* ==========================================================================
   Templates — 首页 / 归档 / 产品详情 / 区块 / 联系 / 库存
   ========================================================================== */

/* ---------- 首页 Hero ---------- */
.sb-hero {
	position: relative;
	background: var(--sb-bg-soft);
}

.sb-hero__slides {
	position: relative;
	overflow: hidden;
}

.sb-hero__slide {
	display: none;
}

.sb-hero__slide.is-active {
	display: block;
	animation: sb-fade 0.6s ease;
}

@keyframes sb-fade {
	from {
		opacity: 0.4;
	}
	to {
		opacity: 1;
	}
}

.sb-hero__slide img {
	width: 100%;
	max-height: 560px;
	object-fit: cover;
}

.sb-hero__nav {
	position: absolute;
	inset-block-start: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.28);
	color: #fff;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	z-index: 3;
}

.sb-hero__nav:hover {
	background: var(--sb-primary);
}

.sb-hero__nav--prev {
	inset-inline-start: 20px;
}

.sb-hero__nav--next {
	inset-inline-end: 20px;
}

.sb-hero__dots {
	position: absolute;
	inset-block-end: 16px;
	inset-inline: 0;
	display: flex;
	gap: 8px;
	justify-content: center;
	z-index: 3;
}

.sb-hero__dots button {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
	cursor: pointer;
}

.sb-hero__dots button.is-active {
	background: var(--sb-accent);
}

.sb-hero__fallback {
	padding-block: 90px;
	background: linear-gradient(120deg, #1f3f74, var(--sb-primary));
	color: #fff;
	text-align: center;
}

.sb-hero__fallback h1 {
	color: #fff;
	font-size: var(--sb-fs-32);
}

.sb-hero__fallback p {
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}

/* ---------- 首页 关于 ---------- */
.sb-home-about {
	padding-block: 64px;
	background: var(--sb-bg-soft);
}

.sb-about__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	margin-block-end: 56px;
}

.sb-about__row:last-child {
	margin-block-end: 0;
}

.sb-about__row.is-reverse .sb-about__media {
	order: 2;
}

.sb-about__media img {
	width: 100%;
	border-radius: var(--sb-radius);
	box-shadow: var(--sb-shadow);
}

.sb-about__body .sb-prose {
	font-size: var(--sb-fs-16);
}

.sb-about__more {
	margin-block-start: 20px;
}

/* ---------- 认证 / 伙伴 ---------- */
.sb-home-certs {
	background: #fff;
}

.sb-certs {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.sb-certs__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px 8px;
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	background: #fff;
}

.sb-certs__item img {
	max-height: 70px;
	width: auto;
	object-fit: contain;
}

.sb-certs__item span {
	font-size: var(--sb-fs-12);
	color: var(--sb-muted);
	text-align: center;
}

.sb-home-partners {
	padding-block: 46px;
	background: var(--sb-bg-soft);
	border-block-start: 1px solid var(--sb-line);
}

.sb-partners {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 16px;
	align-items: center;
}

.sb-partners__item img {
	width: 100%;
	height: 60px;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.75;
	transition: all 0.2s ease;
}

.sb-partners__item img:hover {
	filter: none;
	opacity: 1;
}

/* ---------- 归档 / 详情布局 ---------- */
.sb-archive,
.sb-single {
	padding-block-end: 20px;
}

.sb-layout {
	display: flex;
	gap: 36px;
	align-items: flex-start;
}

.sb-content {
	flex: 1;
	min-width: 0;
}

/* ---------- 产品详情 ---------- */
.sb-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	margin-block-end: 46px;
}

.sb-product__main {
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	background: #fff;
	overflow: hidden;
}

.sb-product__main img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.sb-product__thumbs {
	display: flex;
	gap: 10px;
	margin-block-start: 12px;
}

.sb-product__thumb {
	width: 84px;
	height: 84px;
	padding: 0;
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	overflow: hidden;
	background: #fff;
	cursor: pointer;
}

.sb-product__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sb-product__thumb.is-active {
	border-color: var(--sb-primary);
	box-shadow: 0 0 0 2px rgba(45, 85, 151, 0.15);
}

.sb-product__title {
	font-size: var(--sb-fs-26);
	margin-block: 0 12px;
}

.sb-product__intro {
	color: var(--sb-muted);
	font-size: var(--sb-fs-16);
	margin-block-end: 20px;
}

.sb-spec {
	font-size: var(--sb-fs-14);
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	overflow: hidden;
}

.sb-spec th,
.sb-spec td {
	padding: 10px 14px;
	border-block-end: 1px solid var(--sb-line);
	text-align: start;
	vertical-align: top;
}

.sb-spec th {
	width: 38%;
	background: var(--sb-bg-soft);
	font-weight: 700;
	color: var(--sb-text);
}

.sb-spec tr:last-child th,
.sb-spec tr:last-child td {
	border-block-end: 0;
}

.sb-spec-html table {
	font-size: var(--sb-fs-14);
}

.sb-spec-html th,
.sb-spec-html td {
	border: 1px solid var(--sb-line);
	padding: 10px 12px;
	vertical-align: top;
}

.sb-spec-html th {
	background: var(--sb-bg-soft);
}

.sb-product__cta {
	margin-block-start: 26px;
}

.sb-hot-tags {
	font-size: var(--sb-fs-14);
	color: var(--sb-muted);
	padding-block-start: 16px;
	border-block-start: 1px dashed var(--sb-line);
}

/* 上下篇 */
.sb-postnav {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-block: 22px;
	margin-block: 30px;
	border-block: 1px solid var(--sb-line);
	font-size: var(--sb-fs-14);
}

.sb-postnav a {
	color: var(--sb-muted);
	max-width: 46%;
}

.sb-postnav a:hover {
	color: var(--sb-primary);
}

/* 询盘区 */
.sb-inquiry {
	margin-block-start: 40px;
	padding-block-start: 30px;
	border-block-start: 1px solid var(--sb-line);
}

/* 相关产品 */
.sb-related {
	background: var(--sb-bg-soft);
	padding-block: 56px;
	border-block-start: 1px solid var(--sb-line);
}

/* ---------- 分类页区块 ---------- */
.sb-block {
	margin-block-end: 44px;
}

.sb-block__title {
	font-size: var(--sb-fs-22);
	margin-block: 0 18px;
}

.sb-block__sub {
	color: var(--sb-muted);
	margin-block-end: 22px;
}

.sb-block--text .sb-prose {
	font-size: var(--sb-fs-16);
	line-height: 1.85;
}

/* 卖点三栏 */
.sb-usp {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 22px;
}

.sb-usp__item {
	padding: 24px 20px;
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	background: #fff;
}

.sb-usp__icon img {
	width: 46px;
	height: 46px;
	object-fit: contain;
	margin-block-end: 12px;
}

.sb-usp__title {
	font-size: var(--sb-fs-16);
	margin-block: 0 8px;
	color: var(--sb-primary);
}

.sb-usp__text {
	font-size: var(--sb-fs-14);
	color: var(--sb-muted);
	margin: 0;
}

/* 图标特性 */
.sb-features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}

.sb-features__item {
	padding-block: 8px;
}

.sb-features__icon {
	display: inline-block;
	font-size: 22px;
	color: var(--sb-primary);
	margin-block-end: 6px;
}

.sb-features__item h3 {
	font-size: var(--sb-fs-16);
	margin-block: 0 6px;
}

.sb-features__item p {
	font-size: var(--sb-fs-14);
	color: var(--sb-muted);
	margin: 0;
}

/* 图片组 */
.sb-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}

.sb-gallery img {
	width: 100%;
	border-radius: var(--sb-radius);
}

/* FAQ */
.sb-faq__item {
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	margin-block-end: 10px;
	background: #fff;
}

.sb-faq__item summary {
	padding: 14px 18px;
	cursor: pointer;
	font-weight: 700;
	color: var(--sb-text);
	list-style: none;
	position: relative;
	padding-inline-end: 44px;
}

.sb-faq__item summary::-webkit-details-marker {
	display: none;
}

.sb-faq__item summary::after {
	content: "+";
	position: absolute;
	inset-inline-end: 18px;
	inset-block-start: 50%;
	transform: translateY(-50%);
	color: var(--sb-primary);
	font-size: 20px;
	line-height: 1;
}

.sb-faq__item[open] summary::after {
	content: "−";
}

.sb-faq__a {
	padding: 0 18px 16px;
	font-size: var(--sb-fs-14);
	color: var(--sb-muted);
}

/* CTA */
.sb-block--cta {
	padding: 32px;
	border-radius: var(--sb-radius);
	background: linear-gradient(120deg, #24467d, var(--sb-primary));
	color: #fff;
}

.sb-block--cta .sb-prose,
.sb-block--cta .sb-prose p,
.sb-block--cta h2,
.sb-block--cta h3 {
	color: #fff;
}

/* 原始区块（老站未归类区块）：给基础排版兜底，保证不塌 */
.sb-block--raw .sb-prose img {
	border-radius: var(--sb-radius);
}

.sb-block--raw .sb-prose h5,
.sb-block--raw .sb-prose .kche-t219-info h5 {
	font-size: var(--sb-fs-18);
	margin-block: 0 10px;
}

/* ---------- 文章 ---------- */
.sb-article__meta {
	font-size: var(--sb-fs-14);
	color: #999;
	padding-block-end: 16px;
	margin-block-end: 22px;
	border-block-end: 1px solid var(--sb-line);
}

.sb-postlist {
	margin-block-end: 20px;
}

/* ---------- 联系页 ---------- */
.sb-contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px;
	margin-block-end: 40px;
}

.sb-contact__list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--sb-fs-14);
}

.sb-contact__list li {
	display: flex;
	gap: 12px;
	padding-block: 10px;
	border-block-end: 1px dashed var(--sb-line);
	color: var(--sb-muted);
}

.sb-contact__list strong {
	min-width: 70px;
	color: var(--sb-text);
}

.sb-contact__map iframe {
	border-radius: var(--sb-radius);
	display: block;
}

/* ---------- 库存 ---------- */
.sb-inv-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-block: 22px;
	padding: 16px;
	background: var(--sb-bg-soft);
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
}

.sb-inv-filter input[type="search"],
.sb-inv-filter select {
	padding: 9px 12px;
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	background: #fff;
	min-width: 180px;
}

.sb-inv-filter .sb-btn {
	padding: 9px 22px;
}

.sb-inv-reset {
	font-size: var(--sb-fs-14);
	color: var(--sb-muted);
	text-decoration: underline;
}

.sb-inv-count {
	margin-inline-start: auto;
	font-size: var(--sb-fs-14);
	color: var(--sb-muted);
}

.sb-inv-note {
	margin-block-start: 24px;
	font-size: var(--sb-fs-14);
}

/* ---------- 产品筛选 ---------- */
.sb-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
	margin-block: 22px 26px;
	padding: 16px 18px;
	background: var(--sb-bg-soft);
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
}

.sb-filter__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: var(--sb-fs-14);
	color: var(--sb-muted);
}

.sb-filter__field select {
	padding: 9px 12px;
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	background: #fff;
	min-width: 200px;
	font-size: var(--sb-fs-14);
	color: var(--sb-text);
}

.sb-filter__submit {
	padding: 10px 26px;
}

.sb-filter__reset {
	font-size: var(--sb-fs-14);
	color: var(--sb-muted);
	text-decoration: underline;
	padding-block-end: 10px;
}

/* ---------- 404 ---------- */
.sb-404 {
	text-align: center;
	padding-block: 60px;
}

.sb-404__code {
	font-size: 72px;
	font-weight: 900;
	color: var(--sb-line);
	margin: 0;
	line-height: 1;
}

/* ---------- 响应式 ---------- */
@media (max-width: 1100px) {
	.sb-grid--4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sb-certs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.sb-partners {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.sb-footer__inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 900px) {
	.sb-layout {
		flex-direction: column;
	}

	.sb-side {
		width: 100%;
		flex: none;
	}

	.sb-product,
	.sb-contact,
	.sb-about__row {
		grid-template-columns: 1fr;
	}

	.sb-about__row.is-reverse .sb-about__media {
		order: 0;
	}

	.sb-nav__toggle {
		display: block;
	}

	.sb-nav__panel {
		position: absolute;
		inset-block-start: var(--sb-header-h);
		inset-inline: 0;
		background: #fff;
		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
		display: none;
		max-height: calc(100vh - var(--sb-header-h));
		overflow-y: auto;
	}

	.sb-nav__panel.is-open {
		display: block;
	}

	.sb-nav__panel > .sb-menu {
		display: block;
		padding: 8px 0;
	}

	.sb-menu__item > a {
		padding: 12px 20px;
		border-block-end: 1px solid var(--sb-line);
	}

	.sb-submenu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		background: var(--sb-bg-soft);
		display: none;
	}

	.sb-menu__item.is-open .sb-submenu {
		display: block;
	}

	.sb-search {
		display: none;
	}

	.sb-grid--4,
	.sb-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sb-certs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sb-section {
		padding-block: 44px;
	}

	.sb-hero__slide img {
		max-height: 300px;
	}
}

@media (max-width: 560px) {
	.sb-grid--4,
	.sb-grid--3 {
		grid-template-columns: 1fr;
	}

	.sb-form__row {
		grid-template-columns: 1fr;
	}

	.sb-footer__inner {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.sb-certs,
	.sb-partners {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sb-page-title {
		font-size: var(--sb-fs-22);
	}
}
