/* 产品沿用官网卡片视觉；筛选区窄屏纵向排列，避免控件挤压。 */
.product-search {
	display: flex;
	align-items: end;
	gap: 16px;
	margin-bottom: 40px;
	flex-wrap: wrap;
}
.product-search label {
	display: grid;
	gap: 8px;
	flex: 1 1 220px;
}
.product-search input,
.product-search select {
	width: 100%;
	min-height: 48px;
	border: 1px solid #ccd8d8;
	border-radius: 12px;
	padding: 12px;
	background: white;
	color: #102124;
}
.product-pages {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 36px;
}
.product-pages [aria-current="page"] {
	background: #30d8b9;
	color: #102124;
}
.product-screenshot {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 18px;
}

/* 产品详情独立布局：不继承案例侧栏的紧贴按钮和固定列间距。 */
.product-detail-page {
	padding-block: clamp(40px, 6vw, 88px);
}
.product-detail-page .detail-layout {
	width: min(1200px, calc(100% - 48px));
	grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
}
.product-detail-page .detail-index {
	gap: 16px;
	padding: 24px;
	border: 1px solid var(--line);
	border-radius: 20px;
	background: var(--white, #fff);
	min-width: 0;
}
.product-detail-page .detail-index strong {
	margin: 0 0 4px;
	overflow-wrap: anywhere;
}
.product-detail-page .detail-index .button {
	width: 100%;
	min-width: 0;
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.5;
}
/* 覆盖公共 .detail-index a，保证主按钮文字不会变成灰色。 */
.product-detail-page .detail-index .button-primary {
	color: var(--ink);
}
.product-detail-page .detail-body {
	min-width: 0;
	gap: 32px;
	overflow-wrap: anywhere;
}
.product-detail-page .detail-body h2 {
	margin-top: 0;
	font-size: clamp(24px, 2.5vw, 34px);
}
.product-detail-page .detail-body section {
	min-width: 0;
	padding-bottom: 32px;
}
.product-detail-page .detail-tags span {
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}
.product-detail-page .article-content img {
	max-width: 100%;
	height: auto;
}
@media (max-width: 900px) {
	.product-detail-page .detail-layout {
		grid-template-columns: minmax(0, 1fr);
		width: calc(100% - 32px);
		gap: 28px;
	}
	.product-detail-page .detail-index {
		position: static;
		padding: 20px;
	}
}
