/* 顶栏、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, #f7941d);
	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, #fa9d2e 0%, var(--color-primary, #f7941d) 50%, #e8870f 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 rgba(247,148,29,.35);
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl{
	width:100%;
	border-left:solid var(--color-border, #ddd) 1px;
	border-right:solid var(--color-border, #ddd) 1px;
	border-bottom:solid var(--color-border, #ddd) 1px;
	background:#fff;
}
.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%;
	height:45px;
	display:flex;
	justify-content: flex-start;
	align-items: center;
	text-indent:0;
	padding:0 14px;
	box-sizing:border-box;
	border-bottom:solid var(--color-border, #eee) 1px;
	transition:background var(--duration, .22s) var(--ease-standard, ease),
		color var(--duration, .22s) var(--ease-standard, ease),
		padding-left 0.15s ease;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dt{
	position:relative;
	font-weight:600;
	color:#2e3642;
	background:#f7f9fc;
	cursor:pointer;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dt::after{
	content:'▸';
	position:absolute;
	right:12px;
	top:50%;
	transform:translateY(-50%);
	font-size:12px;
	color:#9098a4;
	transition:transform .2s ease, color .2s ease;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl.is-expanded>dt{
	color:var(--color-primary, #f7941d);
	background:#fff7ed;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl.is-expanded>dt::after{
	transform:translateY(-50%) rotate(90deg);
	color:var(--color-primary, #f7941d);
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd{
	padding-left:28px;
    line-height:45px;
	display:none;
	font-size:14px;
	color:#4a5563;
	border-left:3px solid transparent;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl.is-expanded>dd{
	display:flex;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd:hover{
	background:#fff4e5;
	color:var(--color-primary, #f7941d);
	cursor:pointer;
}
.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd.is-active{
	background:var(--color-primary, #f7941d);
	color:#fff;
	border-left-color:#d97706;
}
.product>div>div:nth-child(1)>div:nth-child(2){
	width:100%;
}
.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, #f7941d);
	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:rgba(247,148,29,.45);
}
.product-search__input:focus{
	outline:none;
	border-color:var(--color-primary, #f7941d);
	background:#fff;
	box-shadow:0 0 0 3px var(--color-primary-soft, rgba(247,148,29,.2));
}
.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, rgba(247,148,29,.15));
	color:var(--color-primary, #f7941d);
}
.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:rgba(247,148,29,.25);
	cursor:pointer;
}
#product .product-card:active{
	transform:translateY(-2px);
}
#product .product-card:focus-visible{
	outline:2px solid var(--color-primary, #f7941d);
	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, rgba(214,122,8,.95), rgba(247,148,29,.92));
}
#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%);
}

/* —— 响应式：平板及以下 —— */
@media (max-width: 1199px){
	.tab{
		height:auto;
		min-height:0;
		padding:12px 0;
		align-items:stretch;
	}
	.tab>div{
		width:min(1200px, 94%);
		flex-wrap:wrap;
		row-gap:8px;
		column-gap:12px;
		align-items:center;
	}
	.tab>div>div{
		font-size:13px;
		line-height:1.4;
	}
	.product>div{
		flex-direction:column;
		align-items:stretch;
		gap:16px;
		margin-top:24px;
		width:min(1200px, 94%);
	}
	.product>div>div:nth-child(1){
		width:100%;
		max-width:100%;
	}
	.product>div>div:nth-child(1)>div:nth-child(1){
		height:48px;
		line-height:48px;
		font-size:16px;
		border-radius:var(--radius-sm, 8px) var(--radius-sm, 8px) 0 0;
	}
	.product>div>div:nth-child(1)>div:nth-child(2)>dl>dt,
	.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd{
		min-height:44px;
		height:auto;
		padding:10px 12px 10px 16px;
		text-indent:0;
		line-height:1.35;
	}
	.product>div>div:nth-child(1)>div:nth-child(2)>dl>dd{
		padding-left:24px;
	}
	.product>div>div:nth-child(2){
		border-radius:var(--radius-sm, 8px);
		border:1px solid var(--color-border, #ddd);
		border-top:1px solid var(--color-border, #ddd);
	}
	.product-toolbar{
		padding:12px 14px;
	}
	.product-toolbar .navname{
		font-size:15px;
		width:100%;
	}
	.product-search{
		flex:1 1 100%;
		min-width:0;
		max-width:none;
	}
	.product>div>div:nth-child(2)>div:nth-child(2){
		grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
		gap:14px;
		padding:16px 14px 8px;
	}
	#demo2-1{
		justify-content:center;
		flex-wrap:wrap;
		padding:14px 12px 20px;
	}
}

@media (max-width: 599px){
	.tab>div>div:nth-child(1){
		margin-left:0;
	}
	.product>div>div:nth-child(2)>div:nth-child(2){
		grid-template-columns:1fr;
		gap:12px;
		padding:14px 12px 6px;
	}
	.product-empty{
		padding:36px 16px;
		font-size:14px;
	}
}

/* 触摸设备：卡片不依赖 hover 才看到标题 */
@media (hover: none){
	#product .product-card__overlay{
		transform:translateY(0);
		position:relative;
		margin-top:auto;
		min-height:0;
		padding:10px 10px 12px;
		background:linear-gradient(to top, rgba(34,34,34,.92), rgba(55,55,55,.75));
	}
	#product .product-card{
		display:flex;
		flex-direction:column;
	}
	#product .product-card__media{
		flex:1;
		min-height:0;
	}
	#product .product-card:hover{
		transform:none;
	}
	#product .product-card:hover .product-card__media>img{
		transform:none;
	}
}