/* HNYH Products 前台样式 —— 还原 yh-peptide.com 绿白产品风格 */

.hnyh-wrap {
	--hnyh-green: #1e9e50;
	--hnyh-green-dark: #14773a;
	--hnyh-green-pale: #eef8f1;
	--hnyh-text: #333;
	--hnyh-muted: #777;
	--hnyh-border: #e6e6e6;
	color: var(--hnyh-text);
	font-size: 14px;
	line-height: 1.7;
}
.hnyh-archive {
	padding: 20px 0 40px;
}
.hnyh-archive-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* 面包屑 */
.hnyh-breadcrumb {
	padding: 14px 0;
	font-size: 13px;
	color: #999;
	border-bottom: 1px solid var(--hnyh-border);
	margin-bottom: 24px;
}
.hnyh-breadcrumb a { color: var(--hnyh-green); text-decoration: none; }
.hnyh-breadcrumb a:hover { color: var(--hnyh-green-dark); text-decoration: underline; }
.hnyh-breadcrumb span { margin: 0 8px; color: #bbb; }
.hnyh-breadcrumb em { font-style: normal; color: var(--hnyh-text); }

/* 布局：左侧栏 + 右主体 */
.hnyh-layout {
	display: flex;
	gap: 32px;
	align-items: flex-start;
}
.hnyh-aside { flex: 0 0 220px; width: 220px; }
.hnyh-main { flex: 1 1 auto; min-width: 0; }

/* 侧栏分类块 */
.hnyh-sidebar-title {
	background: var(--hnyh-green);
	color: #fff;
	font-size: 17px;
	font-weight: 600;
	padding: 12px 18px;
	border-radius: 6px 6px 0 0;
	letter-spacing: .5px;
}
.hnyh-sidebar-list {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid var(--hnyh-border);
	border-top: 0;
	border-radius: 0 0 6px 6px;
	overflow: hidden;
}
.hnyh-sidebar-list li + li { border-top: 1px solid #f0f0f0; }
.hnyh-cat-item a {
	display: block;
	padding: 13px 18px;
	color: #555;
	text-decoration: none;
	font-size: 14px;
	transition: background .15s, color .15s;
}
.hnyh-cat-item a:hover,
.hnyh-cat-item.active a {
	background: var(--hnyh-green-pale);
	color: var(--hnyh-green-dark);
	font-weight: 600;
	padding-left: 22px;
}

/* 列表页 */
.hnyh-list-title {
	font-size: 22px;
	font-weight: 700;
	color: #2a2a2a;
	margin: 0 0 6px;
	padding-left: 12px;
	border-left: 4px solid var(--hnyh-green);
	line-height: 1.3;
}
.hnyh-term-desc { color: var(--hnyh-muted); margin: 0 0 18px 16px; }
.hnyh-empty { color: var(--hnyh-muted); padding: 30px 16px; }

.hnyh-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin-top: 16px;
}
.hnyh-cols-2 { grid-template-columns: repeat(2, 1fr); }
.hnyh-cols-4 { grid-template-columns: repeat(4, 1fr); }

/* 产品卡片 */
.hnyh-card {
	background: #fff;
	border: 1px solid var(--hnyh-border);
	border-radius: 8px;
	padding: 18px 16px 22px;
	text-align: center;
	transition: box-shadow .2s, transform .2s;
}
.hnyh-card:hover {
	box-shadow: 0 8px 22px rgba(0, 0, 0, .09);
	transform: translateY(-3px);
}
.hnyh-card-img {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 210px;
	overflow: hidden;
	background: #fafafa;
	border-radius: 6px;
}
.hnyh-card-img img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}
.hnyh-card-title {
	font-size: 16px;
	font-weight: 600;
	margin: 14px 0 6px;
}
.hnyh-card-title a { color: var(--hnyh-text); text-decoration: none; }
.hnyh-card-title a:hover { color: var(--hnyh-green); }
.hnyh-card-desc {
	font-size: 13px;
	color: var(--hnyh-muted);
	margin: 0 auto 14px;
	max-width: 92%;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.hnyh-btn {
	display: inline-block;
	background: var(--hnyh-green);
	color: #fff !important;
	font-size: 13px;
	letter-spacing: .4px;
	padding: 9px 26px;
	border-radius: 4px;
	text-decoration: none;
	transition: background .15s;
}
.hnyh-btn:hover { background: var(--hnyh-green-dark); }

/* 分页 */
.hnyh-pagination {
	margin: 34px 0 6px;
	text-align: center;
}
.hnyh-pagination .page-numbers {
	display: inline-block;
	min-width: 34px;
	height: 34px;
	line-height: 34px;
	padding: 0 10px;
	margin: 0 3px;
	border: 1px solid var(--hnyh-border);
	border-radius: 4px;
	color: #555;
	text-decoration: none;
	font-size: 13px;
	background: #fff;
}
.hnyh-pagination a.page-numbers:hover { border-color: var(--hnyh-green); color: var(--hnyh-green); }
.hnyh-pagination .page-numbers.current {
	background: var(--hnyh-green);
	border-color: var(--hnyh-green);
	color: #fff;
}

/* 详情页 */
.hnyh-detail-top {
	display: flex;
	gap: 34px;
	align-items: flex-start;
}
.hnyh-gallery { flex: 0 0 420px; max-width: 420px; width: 420px; }

/* 图集：主图 + 缩略图 */
.hnyh-gmain {
	position: relative;
	border: 1px solid var(--hnyh-border);
	border-radius: 6px;
	background: #fff;
	overflow: visible;
	cursor: crosshair;
}
.hnyh-gmain-img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 5px;
}
.hnyh-gmain .hnyh-lens,
.hnyh-gmain .hnyh-zoom { display: none; }
.hnyh-gmain.hovering .hnyh-lens {
	display: block;
	position: absolute;
	border: 1px solid rgba(30, 158, 80, .8);
	background: rgba(30, 158, 80, .12);
	pointer-events: none;
	z-index: 3;
}
.hnyh-gmain.hovering .hnyh-zoom {
	display: block;
	position: absolute;
	left: calc(100% + 18px);
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	background-repeat: no-repeat;
	border: 1px solid var(--hnyh-border);
	border-radius: 6px;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
	z-index: 4;
}
.hnyh-zoom-hint {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	color: #aaa;
	text-align: center;
}
.hnyh-gmain.hovering .hnyh-zoom-hint { visibility: hidden; }

.hnyh-gthumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}
.hnyh-gthumb {
	width: 72px;
	height: 72px;
	border: 2px solid var(--hnyh-border);
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
	transition: border-color .15s;
	background: #fafafa;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hnyh-gthumb img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.hnyh-gthumb:hover { border-color: #9fd8b4; }
.hnyh-gthumb.active { border-color: var(--hnyh-green); }

/* 详情右侧信息 */
.hnyh-detail-info { flex: 1 1 auto; min-width: 0; padding-top: 4px; }
.hnyh-detail-title {
	font-size: 26px;
	font-weight: 700;
	color: #222;
	margin: 0 0 8px;
	line-height: 1.3;
}
.hnyh-detail-subtitle {
	font-size: 15px;
	color: var(--hnyh-green-dark);
	font-weight: 600;
	margin: 0 0 14px;
}
.hnyh-detail-short {
	font-size: 14px;
	color: #555;
	border-top: 1px dashed var(--hnyh-border);
	padding-top: 14px;
}

/* Product details 区块 */
.hnyh-details-section { margin-top: 36px; }
.hnyh-details-title {
	font-size: 18px;
	font-weight: 700;
	color: #2a2a2a;
	padding-left: 12px;
	border-left: 4px solid var(--hnyh-green);
	margin: 0 0 16px;
}
.hnyh-details-body { font-size: 14px; color: #444; }
.hnyh-details-body p { margin: 0 0 14px; }
.hnyh-specs {
	font-weight: 700;
	color: var(--hnyh-green-dark);
	font-size: 15px;
}
.hnyh-note {
	font-size: 13px;
	color: #999;
	border-top: 1px solid #f0f0f0;
	padding-top: 14px;
	margin-top: 20px;
}

/* 灯箱（移动端/点击放大） */
.hnyh-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .86);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	cursor: zoom-out;
}
.hnyh-lightbox img {
	max-width: 92vw;
	max-height: 92vh;
	box-shadow: 0 12px 60px rgba(0, 0, 0, .5);
}
.hnyh-lightbox-close {
	position: absolute;
	top: 18px;
	right: 22px;
	color: #fff;
	font-size: 34px;
	line-height: 1;
	text-decoration: none;
}

/* 响应式 */
@media (max-width: 1024px) {
	.hnyh-aside { flex-basis: 190px; width: 190px; }
	.hnyh-gallery { flex-basis: 340px; width: 340px; }
}
@media (max-width: 860px) {
	.hnyh-layout { flex-direction: column; }
	.hnyh-aside { flex-basis: auto; width: 100%; }
	.hnyh-detail-top { flex-direction: column; }
	.hnyh-gallery { flex-basis: auto; width: 100%; max-width: 460px; }
	.hnyh-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 560px) {
	.hnyh-grid { grid-template-columns: 1fr; }
	.hnyh-gmain .hnyh-lens,
	.hnyh-gmain .hnyh-zoom { display: none !important; }
	.hnyh-gmain { cursor: zoom-in; }
	.hnyh-card-img { height: 170px; }
}
