/* =========================================================
   文档中心样式 doc.css
   产品卡片 + 文档阅读页（双行头/左树/正文/右大纲）
   ========================================================= */

/* ---------- 产品卡片（doc_index.html） ---------- */
.gw-doc-sets {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 20px;
}

.gw-doc-set {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 26px 24px;
	border-radius: var(--gw-radius);
	background: var(--gw-bg-gray);
	border: 1px solid var(--gw-border);
	transition: all .2s ease;
}

.gw-doc-set:hover {
	transform: translateY(-4px);
	box-shadow: var(--gw-shadow);
	border-color: transparent;
}

.gw-doc-set-bd h3 {
	margin: 0 0 8px;
	font-size: 18px;
}

.gw-doc-set-bd p {
	margin: 0;
	font-size: 13px;
	color: var(--gw-text-secondary);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gw-doc-set-hd img {
	width: 72px;
	height: 72px;
	object-fit: contain;
}

/* 卡片主题色 color0 ~ color11 */
.gw-doc-set.color0 { background: #eef4ff; }
.gw-doc-set.color1 { background: #eefbf3; }
.gw-doc-set.color2 { background: #fff7ec; }
.gw-doc-set.color3 { background: #fdf0f5; }
.gw-doc-set.color4 { background: #f2f0ff; }
.gw-doc-set.color5 { background: #ecfbfd; }
.gw-doc-set.color6 { background: #fff1f0; }
.gw-doc-set.color7 { background: #f0f7e8; }
.gw-doc-set.color8 { background: #fff8e6; }
.gw-doc-set.color9 { background: #edf6ff; }
.gw-doc-set.color10 { background: #f5f0ea; }
.gw-doc-set.color11 { background: #f0f9f4; }

/* ---------- 阅读页双行头（doc_article.html） ---------- */
.gw-doc-body {
	background: var(--gw-bg-gray);
}

.gw-dh {
	background: var(--gw-bg);
	border-bottom: 1px solid var(--gw-border);
}

.gw-dh-inner {
	max-width: 1400px;
	margin: 0 auto;
	height: 56px;
	padding: 0 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.gw-dh-logo-name {
	font-size: 18px;
	font-weight: 600;
	color: var(--gw-text);
}

.gw-dh-logo-name strong {
	color: var(--gw-primary);
	margin-left: 4px;
}

.gw-dh-nav a {
	margin-left: 24px;
	font-size: 14px;
	color: var(--gw-text-secondary);
}

.gw-dh-nav a:hover {
	color: var(--gw-primary);
}

.gw-dsub {
	background: var(--gw-bg);
	border-bottom: 1px solid var(--gw-border);
	position: sticky;
	top: 0;
	z-index: 100;
}

.gw-dsub-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 24px;
	height: 52px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.gw-dsub-toggle {
	display: none;
	border: 1px solid var(--gw-border);
	background: var(--gw-bg);
	border-radius: 6px;
	padding: 4px 10px;
	cursor: pointer;
}

.gw-dsub-version select {
	height: 32px;
	border: 1px solid var(--gw-border);
	border-radius: 6px;
	padding: 0 8px;
	font-size: 13px;
	color: var(--gw-text);
	background: var(--gw-bg-gray);
	max-width: 200px;
}

.gw-dsub-tabs {
	display: flex;
	align-items: center;
	gap: 4px;
	overflow-x: auto;
	flex: 1;
	scrollbar-width: none;
}

.gw-dsub-tabs::-webkit-scrollbar { display: none; }

.gw-dsub-tabs a,
.gw-dsub-tabs span {
	white-space: nowrap;
	padding: 6px 12px;
	font-size: 14px;
	border-radius: 6px;
	color: var(--gw-text-secondary);
}

.gw-dsub-tabs a:hover {
	color: var(--gw-primary);
	background: var(--gw-primary-light);
}

.gw-dsub-tabs a.active {
	color: var(--gw-primary);
	background: var(--gw-primary-light);
	font-weight: 600;
}

.gw-dsub-tabs span.disabled {
	color: #b6bdc9;
	cursor: not-allowed;
}

.gw-dsub-search input {
	width: 220px;
	height: 32px;
	border: 1px solid var(--gw-border);
	border-radius: 16px;
	padding: 0 14px;
	font-size: 13px;
	background: var(--gw-bg-gray);
}

/* ---------- 三栏布局 ---------- */
.gw-doc-layout {
	max-width: 1400px;
	margin: 0 auto;
	padding: 24px;
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr) 230px;
	gap: 24px;
	align-items: start;
}

/* 左侧树 */
.gw-doc-side {
	background: var(--gw-bg);
	border-radius: var(--gw-radius);
	border: 1px solid var(--gw-border);
	padding: 12px;
	max-height: calc(100vh - 160px);
	overflow-y: auto;
	position: sticky;
	top: 76px;
}

.gw-dt-link {
	display: block;
	padding: 8px 12px;
	font-size: 14px;
	color: var(--gw-text);
	border-radius: 8px;
	line-height: 1.5;
}

.gw-dt-link:hover {
	color: var(--gw-primary);
	background: var(--gw-primary-light);
}

.gw-dt-link.active {
	color: var(--gw-primary);
	background: var(--gw-primary-light);
	font-weight: 600;
}

.gw-dt-children {
	padding-left: 14px;
	border-left: 1px solid var(--gw-border);
	margin: 2px 0 6px 14px;
	display: none;
}

.gw-dt-item.open .gw-dt-children {
	display: block;
}

/* 中间正文 */
.gw-doc-content {
	background: var(--gw-bg);
	border-radius: var(--gw-radius);
	border: 1px solid var(--gw-border);
	padding: 32px 40px;
	min-width: 0;
}

.gw-doc-crumb {
	font-size: 13px;
	color: var(--gw-text-secondary);
	margin-bottom: 16px;
}

.gw-doc-crumb a:hover {
	color: var(--gw-primary);
}

.gw-doc-crumb span {
	margin: 0 8px;
	color: #c2c9d4;
}

.gw-doc-title {
	margin: 0 0 10px;
	font-size: 28px;
	line-height: 1.4;
}

.gw-doc-meta {
	display: flex;
	gap: 18px;
	font-size: 13px;
	color: var(--gw-text-secondary);
	padding-bottom: 18px;
	border-bottom: 1px solid var(--gw-border);
	margin-bottom: 24px;
}

/* Markdown 正文排版 */
.gw-doc-article {
	font-size: 15px;
	line-height: 1.9;
	color: var(--gw-text);
	word-wrap: break-word;
}

.gw-doc-article h1,
.gw-doc-article h2,
.gw-doc-article h3,
.gw-doc-article h4 {
	margin: 1.4em 0 .7em;
	line-height: 1.4;
}

.gw-doc-article h1 { font-size: 24px; }
.gw-doc-article h2 {
	font-size: 20px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--gw-border);
}
.gw-doc-article h3 { font-size: 17px; }
.gw-doc-article h4 { font-size: 15px; }

.gw-doc-article p {
	margin: .9em 0;
}

.gw-doc-article a {
	color: var(--gw-primary);
}

.gw-doc-article img {
	max-width: 100%;
	border-radius: 8px;
}

.gw-doc-article code {
	background: var(--gw-bg-gray);
	border: 1px solid var(--gw-border);
	border-radius: 4px;
	padding: 2px 6px;
	font-size: 13px;
	font-family: Consolas, Monaco, monospace;
	color: #d63384;
}

.gw-doc-article pre {
	background: #f6f8fa;
	border-radius: 8px;
	padding: 16px;
	overflow-x: auto;
}

.gw-doc-article pre code {
	background: none;
	border: none;
	padding: 0;
	color: inherit;
	font-size: 13px;
	line-height: 1.7;
}

.gw-doc-article blockquote {
	margin: 1em 0;
	padding: 8px 16px;
	border-left: 4px solid var(--gw-primary);
	background: var(--gw-primary-light);
	border-radius: 0 8px 8px 0;
	color: var(--gw-text-secondary);
}

.gw-doc-article table {
	border-collapse: collapse;
	width: 100%;
	margin: 1em 0;
	font-size: 14px;
}

.gw-doc-article th,
.gw-doc-article td {
	border: 1px solid var(--gw-border);
	padding: 8px 12px;
	text-align: left;
}

.gw-doc-article th {
	background: var(--gw-bg-gray);
}

.gw-doc-article hr {
	border: none;
	border-top: 1px solid var(--gw-border);
	margin: 24px 0;
}

.gw-doc-article ul,
.gw-doc-article ol {
	padding-left: 24px;
}

/* 正文底部操作 */
.gw-doc-actions {
	margin: 32px 0 24px;
	text-align: center;
}

.gw-doc-prevnext {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	border-top: 1px solid var(--gw-border);
	padding-top: 20px;
	flex-wrap: wrap;
}

.gw-doc-pn {
	max-width: 48%;
	font-size: 14px;
	color: var(--gw-primary);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gw-doc-pn:hover { text-decoration: underline; }
.gw-doc-pn.disabled { color: #b6bdc9; cursor: default; }
.gw-doc-pn.disabled:hover { text-decoration: none; }

/* 右侧大纲 */
.gw-doc-toc {
	background: var(--gw-bg);
	border-radius: var(--gw-radius);
	border: 1px solid var(--gw-border);
	padding: 16px;
	max-height: calc(100vh - 160px);
	overflow-y: auto;
	position: sticky;
	top: 76px;
}

.gw-doc-toc-title {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 10px;
}

.gw-doc-toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gw-doc-toc-list li {
	margin: 2px 0;
}

.gw-doc-toc-list li.toc-lv2 { padding-left: 14px; }
.gw-doc-toc-list li.toc-lv3 { padding-left: 28px; }
.gw-doc-toc-list li.toc-lv4 { padding-left: 42px; }

.gw-doc-toc-list a {
	font-size: 13px;
	color: var(--gw-text-secondary);
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gw-doc-toc-list a:hover {
	color: var(--gw-primary);
}

/* ---------- 响应式 ---------- */
@media (max-width: 1100px) {
	.gw-doc-layout {
		grid-template-columns: 250px minmax(0, 1fr);
	}
	.gw-doc-toc { display: none; }
	.gw-dsub-search { display: none; }
}

@media (max-width: 900px) {
	.gw-doc-layout {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px;
	}
	.gw-dsub-toggle { display: block; }
	.gw-dsub-version { display: none; }
	.gw-doc-side {
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		width: 280px;
		max-height: none;
		border-radius: 0;
		z-index: 200;
		transform: translateX(-100%);
		transition: transform .25s ease;
		overflow-y: auto;
	}
	.gw-doc-side-mask {
		display: none;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, .4);
		z-index: 150;
	}
	.gw-doc-side-open .gw-doc-side { transform: translateX(0); }
	.gw-doc-side-open .gw-doc-side-mask { display: block; }
	.gw-doc-content { padding: 22px 18px; }
	.gw-doc-title { font-size: 22px; }
	.gw-doc-pn { max-width: 100%; white-space: normal; }
}

/* ===== Îĵµ¼¯ÁбíÂäµØҳ£¨doc_set.html£© ===== */
.gw-doc-setlist .gw-doc-setdesc {
	margin: 14px 0 0;
	font-size: 15px;
	color: var(--gw-text-secondary);
	line-height: 1.7;
}
.gw-doc-set-sec {
	margin-top: 32px;
	scroll-margin-top: 76px;
}
.gw-doc-set-sec h2 {
	margin: 0 0 12px;
	font-size: 19px;
	line-height: 1.5;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--gw-border);
}
.gw-doc-set-tree .gw-dt-item {
	margin-bottom: 2px;
}
.gw-doc-set-tree .gw-dt-children {
	margin: 2px 0 8px;
}
