/* 顶栏、banner 见 theme.css */
.banner > div:nth-child(2) > div:nth-child(2) {
	border-radius: 2px;
	animation: banner-accent-in 0.6s var(--ease-out, ease) both;
}
@keyframes banner-accent-in{
	from{ transform:scaleX(0); opacity:.6; }
	to{ transform:scaleX(1); opacity:1; }
}
/* 子导航 */
.tab{
	width:100%;
	height:80px;
	display:flex;
	justify-content: center;
	align-items: center;
	border-bottom:solid var(--color-border, #ddd) 1px;
	margin:0 auto;
	background:linear-gradient(180deg, #fff 0%, #fafafa 100%);
}
.tab>div{
	width:75%;
	display:flex;
	justify-content: flex-start;
}
.tab>div>div{
	display:flex;
	justify-content: flex;
	align-items: center;
}
.tab>div>div:nth-child(1){
	color:var(--color-primary, #1677ff);
	margin-right:15px;
	border-radius:var(--radius-sm, 8px);
	padding:6px 8px;
	margin-left:-8px;
	transition:background var(--duration, .22s) var(--ease-standard, ease),
		color var(--duration, .22s) var(--ease-standard, ease);
}
.tab>div>div:nth-child(1):hover{
	cursor: pointer;
	background:var(--color-primary-softer, rgba(247,148,29,.08));
}
.tab>div>div:nth-child(1)>img{
	width:20px;
    margin-right:5px;
}

/* 产品 */
.product{
	width:100%;
}
.product>div{
	width:min(1200px, 92%);
	margin:0 auto;
	margin-top:40px;
	display:flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap:28px;
	box-sizing: border-box;
}
.product>div>div:nth-child(1){
	width:240px;
	flex-shrink:0;
}
.product>div>div:nth-child(1)>div:nth-child(1){
	width:100%;
	height:60px;
	background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary, #1677ff) 50%, var(--color-primary-hover) 100%);
	text-align:center;
	line-height: 60px;
	color:#fff;
	font-size:18px;
	font-weight:600;
	letter-spacing:.04em;
	border:none;
	border-radius:var(--radius-sm, 8px) var(--radius-sm, 8px) 0 0;
	box-shadow:0 4px 14px var(--color-primary-soft);
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl{
	width:100%;
	border-left:solid #ccc 1px;
	/* border-top:solid #ccc 1px; */
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dt,.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd{
    width:100%;
	display:flex;
	justify-content: flex-start;
	align-items: center;
	border-bottom:solid var(--color-border, #ccc) 1px;
	border-right:solid var(--color-border, #ccc) 1px;
	box-sizing:border-box;
	min-width:0;
	overflow:hidden;
	white-space:nowrap;
	transition:background var(--duration, .22s) var(--ease-standard, ease),
		color var(--duration, .22s) var(--ease-standard, ease),
		border-color var(--duration, .22s) var(--ease-standard, ease);
}
.product-sidebar__text{
	display:block;
	flex:1 1 auto;
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dt{
	position:relative;
	min-height:45px;
	padding:0 36px 0 20px;
	line-height:1.35;
	font-weight:600;
	color:#2f3747;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dt::after{
	content:"";
	position:absolute;
	right:17px;
	top:50%;
	width:8px;
	height:8px;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:translateY(-60%) rotate(45deg);
	transition:transform .24s var(--ease-standard, ease);
	opacity:.65;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl.is-open>dt::after{
	transform:translateY(-35%) rotate(225deg);
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd{
	height:45px;
	max-height:0;
	padding:0 16px 0 30px;
	line-height:1.35;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	border-bottom-width:0;
	transform:translateY(-4px);
	transition:max-height .28s var(--ease-standard, ease),
		opacity .2s ease,
		visibility .2s ease,
		transform .28s var(--ease-standard, ease),
		background var(--duration, .22s) var(--ease-standard, ease),
		color var(--duration, .22s) var(--ease-standard, ease),
		border-color var(--duration, .22s) var(--ease-standard, ease);
	list-style-type: circle;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl.is-open>dd{
	max-height:45px;
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	border-bottom-width:1px;
	transform:translateY(0);
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd:hover{
	color:#fff;
	background:var(--color-primary, #1677ff);
	cursor: pointer;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dt:hover,.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd:hover{
	background:var(--color-primary, #1677ff);
	cursor: pointer;
	color:#fff;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd.is-selected{
	background:var(--color-primary, #1677ff);
	color:#fff;
}
.product>div>div:nth-child(1)>div:nth-child(2){
	width:100%;
	max-height:calc(100vh - 140px);
	overflow-y:auto;
	overflow-x:hidden;
	scrollbar-width:none;
	-ms-overflow-style:none;
	overscroll-behavior:contain;
	border-bottom:1px solid var(--color-border, #ccc);
	border-radius:0 0 var(--radius-sm, 8px) var(--radius-sm, 8px);
}
.product>div>div:nth-child(1)>div:nth-child(2)::-webkit-scrollbar{
	width:0;
	height:0;
}
.product>div>div:nth-child(2){
	flex:1;
	min-width:0;
	border:solid var(--color-border, #ddd) 1px;
	border-top:none;
	background:#fff;
	border-radius:0 var(--radius-sm, 8px) var(--radius-sm, 8px) 0;
	box-shadow:var(--shadow-sm, 0 2px 10px rgba(0,0,0,.06));
}
.product>div>div:nth-child(2)>div.product-toolbar{
	width:100%;
	min-height:48px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px 16px;
	background:#fff;
	padding:10px 16px;
	border-bottom:3px solid var(--color-primary, #1677ff);
	box-sizing:border-box;
}
.product-toolbar .navname{
	color:#333;
	font-size:16px;
	font-weight:600;
	flex:1;
	min-width:min(200px, 100%);
}
.product-search{
	position:relative;
	display:flex;
	align-items:center;
	flex:0 1 320px;
	max-width:100%;
	min-width:180px;
}
.product-search__label{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}
.product-search__input{
	width:100%;
	height:40px;
	line-height:40px;
	padding:0 36px 0 14px;
	border:1px solid var(--color-border, #ddd);
	border-radius:var(--radius-sm, 8px);
	font-size:14px;
	color:var(--color-text, #333);
	background:var(--color-surface, #fafafa);
	transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
	box-sizing:border-box;
}
.product-search__input:hover{
	border-color:var(--color-primary-soft);
}
.product-search__input:focus{
	outline:none;
	border-color:var(--color-primary, #1677ff);
	background:#fff;
	box-shadow:0 0 0 3px var(--color-primary-soft, var(--color-primary-soft));
}
.product-search__clear{
	position:absolute;
	right:6px;
	top:50%;
	transform:translateY(-50%);
	width:28px;
	height:28px;
	padding:0;
	border:none;
	border-radius:6px;
	background:transparent;
	color:#888;
	font-size:18px;
	line-height:1;
	cursor:pointer;
	transition:background .15s ease, color .15s ease;
}
.product-search__clear:hover{
	background:var(--color-primary-soft, var(--color-primary-softer));
	color:var(--color-primary, #1677ff);
}
.product-empty{
	grid-column:1 / -1;
	text-align:center;
	padding:48px 20px;
	color:var(--color-text-secondary, #666);
	font-size:15px;
	line-height:1.6;
}
.product>div>div:nth-child(2)>div:nth-child(2){
	width:100%;
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
	gap:20px;
	padding:20px 20px 8px;
	box-sizing:border-box;
	align-items:stretch;
}
#product .product-card{
	width:100%;
	position:relative;
	overflow:hidden;
	transition: box-shadow var(--duration-slow, .35s) var(--ease-out, ease),
		transform var(--duration-slow, .35s) var(--ease-out, ease),
		border-color var(--duration, .22s) ease;
	border:1px solid var(--color-border, #e8e8e8);
	border-radius:var(--radius-md, 12px);
	background:#fff;
}
#product .product-card:hover{
	box-shadow:var(--shadow-card-hover, 0 14px 36px rgba(0,0,0,.11));
	transform:translateY(-4px);
	border-color:var(--color-primary-soft);
	cursor:pointer;
}
#product .product-card:active{
	transform:translateY(-2px);
}
#product .product-card:focus-visible{
	outline:2px solid var(--color-primary, #1677ff);
	outline-offset:3px;
}
#product .product-card__media{
	position:relative;
	aspect-ratio:4/3;
	background:linear-gradient(145deg, #f5f5f5 0%, #ececec 100%);
	display:flex;
	align-items:center;
	justify-content:center;
}
#product .product-card__media>img{
	width:100%;
	height:100%;
	object-fit:contain;
	transition:transform var(--duration-slow, .35s) var(--ease-out, ease);
}
#product .product-card:hover .product-card__media>img{
	transform:scale(1.06);
}
#product .product-card__overlay{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	min-height:88px;
	padding:12px 12px 14px;
	background:linear-gradient(to top, rgba(34,34,34,.88), rgba(34,34,34,.55));
	color:#fff;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-end;
	gap:8px;
	transform:translateY(100%);
	transition:transform var(--duration-slow, .35s) var(--ease-out, ease), background var(--duration-slow, .35s) ease;
}
#product .product-card:hover .product-card__overlay{
	transform:translateY(0);
	background:linear-gradient(to top, var(--color-primary), var(--color-primary));
}
#product .product-card__title{
	font-size:14px;
	font-weight:600;
	line-height:1.45;
	text-align:center;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	width:100%;
}
#product .product-card__more{
	display:inline-block;
	font-size:12px;
	font-weight:600;
	padding:6px 16px;
	border:1px solid rgba(255,255,255,.9);
	border-radius:var(--radius-pill, 999px);
	opacity:.95;
	transition:transform .15s ease, background .2s ease, border-color .2s ease;
}
#product .product-card:hover .product-card__more{
	border-color:#fff;
	background:rgba(255,255,255,.2);
	transform:scale(1.02);
}

/* 分页 */
#demo2-1{
	margin:0;
	width:100%;
	padding:16px 20px 24px;
	box-sizing:border-box;
	display:flex;
	justify-content: flex-end;
	align-items: center;
	border-top:1px solid var(--color-border, #eee);
	background:linear-gradient(180deg, #fafafa 0%, #fff 100%);
}
