/**
 * YIFU 主题补充样式
 *
 * 动态与静态页面共享的组件修正，沿用原有品牌设计变量。
 */

/* Keep every closing CTA readable over its pale background photo. */
.cta-section .btn,
.cta-section .btn:visited {
	color: #252525;
	background-color: #fbfaf8;
	border: 1px solid #74706a;
	font-weight: 500;
	padding-inline: 32px;
	opacity: 1;
}
.cta-section .btn:hover,
.cta-section .btn:focus-visible {
	color: #fbfaf8;
	background-color: #252525;
	border-color: #252525;
	opacity: 1;
}
.cta-section .btn:focus-visible {
	outline: 2px solid #252525;
	outline-offset: 3px;
}
.cta-section .text-link,
.cta-section .text-link:visited,
.cta-section .text-link:hover {
	color: #252525;
}
.cta-section .text-link:hover { text-decoration: underline; }

/* Share text rows so research titles, paragraphs and links align across columns. */
.research-application__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: var(--space-16, 64px);
	row-gap: 16px;
	align-items: stretch;
}
.research-application__item {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}
.research-application__item > h3 { margin: 0; font-size: 1.25rem; line-height: 1.5; }
.research-application__item > p { margin: 0; font-size: var(--fs-small); line-height: 1.8; }
.research-application__item > .text-link { margin-top: auto; padding-top: 8px; align-self: start; }
@supports (grid-template-rows: subgrid) {
	.research-application__item { display: grid; grid-template-rows: subgrid; grid-row: span 4; row-gap: 16px; }
	.research-application__item > .text-link { margin-top: 0; }
}
@media (max-width: 768px) {
	.research-application__grid { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.research-application__item { display: flex; grid-row: auto; gap: 16px; }
}

/* Research imagery: two distinct, equally sized cards without floating thumbnails. */
.research-visuals__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-6, 24px);
}
.research-visuals__card { min-width: 0; margin: 0; }
.research-visuals__media {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: var(--radius-md, 8px);
	background: var(--color-mist, #efece6);
}
.research-visuals__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.research-visuals__caption {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding-top: 16px;
}
.research-visuals__caption h3 { font-size: 1.125rem; line-height: 1.5; }
.research-visuals__caption span,
.research-visuals__note { font-size: var(--fs-small, 0.8125rem); color: var(--color-muted, #74706a); }
.research-visuals__caption span { flex-shrink: 0; }
.research-visuals__note { margin: 24px 0 0; }
@media (max-width: 768px) {
	.research-visuals__grid { grid-template-columns: 1fr; gap: 28px; }
}

/* Keep the research entry attached to the science-to-product section heading. */
.science-products__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px 32px;
	max-width: none;
}
.science-products__header > div { min-width: 0; }
.science-products__header .section-header__title { margin-bottom: 0; }
.science-products__research { flex-shrink: 0; }
@media (max-width: 768px) {
	.science-products__header { flex-direction: column; align-items: flex-start; }
	.science-products__research { max-width: 100%; white-space: normal; }
}

/* Product detail hero: keep every image in the same contained grid position. */
.single-product .page-hero--product .page-hero__inner {
	width: min(calc(100% - 48px), 1240px);
}
.single-product .product-hero__grid {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.85fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}
.single-product .product-hero__content { min-width: 0; }
.single-product .page-hero--product .page-hero__title {
	font-size: clamp(2rem, 3.1vw, 3.45rem);
	line-height: 1.25;
	overflow-wrap: anywhere;
}
.single-product .product-hero__content .page-hero__desc { max-width: 36em; margin-bottom: 0; }
.single-product .product-hero__content .prose { margin-top: 24px; max-width: 38em; }
.single-product .product-hero__content .yifu-actions { margin-top: 28px; }
.single-product .product-hero__media {
	position: static;
	inset: auto;
	transform: none;
	justify-self: center;
	align-self: start;
	width: 100%;
	max-width: 420px;
	height: auto;
	aspect-ratio: 1;
	margin: 0;
	padding: 16px;
	background: #fff;
	border: 1px solid var(--color-warm-gray, #e5e1da);
	border-radius: 20px;
}
.single-product .product-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
@media (max-width: 900px) {
	.single-product .product-hero__grid { grid-template-columns: 1fr; gap: 32px; }
	.single-product .product-hero__media { max-width: 400px; }
}
@media (max-width: 768px) {
	.single-product .page-hero--product .page-hero__inner { width: calc(100% - 32px); }
}

/* 详情操作按钮组 */
.yifu-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4, 16px);
	margin-top: var(--space-8, 32px);
}

/* 规格 / 字段列表 */
.yifu-spec-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-6, 24px);
	margin: 0;
}

.yifu-spec {
	margin: 0;
	padding: var(--space-6, 24px);
	background: var(--color-white, #fff);
	border: 1px solid var(--color-border, #ece7e1);
	border-radius: var(--radius-md, 12px);
}

.yifu-spec__label {
	margin: 0 0 var(--space-2, 8px);
	font-family: var(--font-en, inherit);
	font-size: var(--fs-eyebrow, 0.75rem);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-tertiary, #9a9088);
}

.yifu-spec__value {
	margin: 0;
	font-size: var(--fs-body, 1rem);
	line-height: var(--lh-body, 1.8);
	color: var(--color-text, #2b2724);
}

.yifu-spec__value p:last-child {
	margin-bottom: 0;
}

/* 元信息行 */
.yifu-meta-line {
	margin: var(--space-4, 16px) 0 0;
}

/* 空状态 */
.yifu-empty {
	padding: var(--space-12, 48px) 0;
	text-align: center;
	color: var(--color-muted, #6f6862);
}

/* 肌肤问题免责声明 */
.yifu-disclaimer {
	margin-top: var(--space-8, 32px);
	padding: 14px 18px;
	border-left: 3px solid var(--color-line, #e4e1da);
	color: var(--color-muted, #6f6862);
	font-size: 14px;
	background: var(--color-surface, #f6f4ef);
	border-radius: var(--radius-sm, 8px);
}

/* 分页 */
.yifu-pagination {
	margin-top: var(--space-12, 48px);
	text-align: center;
}

.yifu-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-2, 8px);
}

.yifu-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--color-border, #ece7e1);
	border-radius: var(--radius-sm, 6px);
	color: var(--color-text, #2b2724);
	font-size: 0.9rem;
	text-decoration: none;
}

.yifu-pagination .page-numbers.current {
	background: var(--color-ink, #2b2724);
	border-color: var(--color-ink, #2b2724);
	color: #fff;
}

/* 产品卡片：状态角标 / 价格规格 / 标签 */
.product-card__image {
	position: relative;
}

.product-card__status {
	position: absolute;
	top: var(--space-3, 12px);
	left: var(--space-3, 12px);
	z-index: 2;
	padding: 4px 10px;
	background: var(--color-ink, #2b2724);
	color: #fff;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	border-radius: var(--radius-sm, 6px);
}

.product-card__meta {
	display: flex;
	align-items: baseline;
	gap: var(--space-3, 12px);
	margin: var(--space-2, 8px) 0 0;
	font-size: 0.9rem;
}

.product-card__price {
	font-family: var(--font-en, inherit);
	font-size: var(--fs-body-lg, 1.125rem);
	color: var(--color-ink, #2b2724);
}

.product-card__spec {
	color: var(--color-muted, #6f6862);
	font-size: 0.82rem;
}

.product-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: var(--space-3, 12px) 0 0;
}

/* Equal card rows while preserving missing prices and tags as genuinely empty. */
.product-card > a {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
}
.product-card__image { flex: 0 0 auto; background: #fff; }
.product-card__image img { object-fit: contain; }
.product-card__body { min-width: 0; }
.product-card__name { min-height: 2.8em; overflow-wrap: anywhere; }
.product-card__desc { min-height: 3.4em; }
.product-card__meta { min-height: 34px; align-items: baseline; margin-top: auto; }
.product-card__tags { min-height: 40px; align-content: flex-start; }
.product-card__link { margin-top: 12px; }
.product-card__price--empty { white-space: nowrap; }

/* Different description lengths must not move the brand-focus headings. */
.brand-focus .concern-card { justify-content: flex-start; }
.brand-focus .concern-card:hover { transform: none; }
.brand-focus .concern-card__name { line-height: 1.4; }
.brand-focus .concern-card__desc { margin-bottom: 0; }
/* Anchor science-card text to the same top inset regardless of description length. */
.science-concerns .concern-card {
	justify-content: flex-start;
	padding-block: var(--space-16);
}
.science-concerns .concern-card:hover { transform: none; }
.science-concerns .concern-card__name { line-height: 1.4; }
.science-concerns .concern-card__desc { margin-bottom: 0; }
@media (max-width: 768px) {
	.science-concerns .concern-card { padding-block: var(--space-8); }
}
/* Share text, price and tag tracks within each product row, including wrapped tags. */
@supports (grid-template-rows: subgrid) {
	.grid > .product-card { display: grid; grid-row: span 7; grid-template-rows: subgrid; row-gap: 0; }
	.grid > .product-card > a { display: grid; grid-row: span 7; grid-template-rows: subgrid; row-gap: 0; }
	.grid > .product-card .product-card__body { display: grid; grid-row: span 6; grid-template-rows: subgrid; row-gap: 0; }
	.grid > .product-card .product-card__series { grid-row: 1; }
	.grid > .product-card .product-card__name { grid-row: 2; min-height: 1.4em; }
	.grid > .product-card .product-card__desc { grid-row: 3; }
	.grid > .product-card .product-card__meta { grid-row: 4; margin-top: 0; }
	.grid > .product-card .product-card__tags { grid-row: 5; }
	.grid > .product-card .product-card__link { grid-row: 6; }
}

.desktop-nav__link, .header-purchase-btn { white-space: nowrap; }
.desktop-nav__item.is-open .mega-menu { opacity: 1; visibility: visible; transform: translateX(-50%); transition: none; }
.desktop-nav__item.is-dismissed .mega-menu { opacity: 0; visibility: hidden; pointer-events: none; }
.footer-brand__logo { display: inline-flex; }
.footer-col__title { font-family: var(--font-sans, sans-serif); font-weight: 500; }
.footer-bottom { align-items: flex-start; }
.footer-copyright { text-align: right; line-height: 1.8; }
.footer-icp { color: inherit; }
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (max-width: 768px) {
	.footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
	.footer-copyright { text-align: left; }
}
@media (max-width: 600px) { body.admin-bar .site-header { top: 0; } }

/* 详情页：价格 / 规格 / 标签行 */
.yifu-product-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-4, 16px) var(--space-6, 24px);
	margin: var(--space-6, 24px) 0 0;
	padding: 0;
	list-style: none;
}

.yifu-product-meta__item {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0;
}

.yifu-product-meta__item--tags {
	flex-wrap: wrap;
	gap: 6px;
}

.yifu-product-meta__label {
	font-family: var(--font-en, inherit);
	font-size: var(--fs-eyebrow, 0.75rem);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-tertiary, #9a9088);
}

.yifu-product-meta__value {
	font-size: var(--fs-body, 1rem);
	color: var(--color-text, #2b2724);
}

.yifu-product-meta__item--price .yifu-product-meta__value {
	font-family: var(--font-en, inherit);
	font-size: var(--fs-body-lg, 1.375rem);
	color: var(--color-ink, #2b2724);
}

.tag--status {
	margin-left: 8px;
	background: var(--color-ink, #2b2724);
	color: #fff;
}

/* 产品卖点列表 */
.yifu-highlight-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4, 16px) var(--space-8, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.yifu-highlight {
	position: relative;
	margin: 0;
	padding: 0 0 0 var(--space-6, 24px);
	font-size: var(--fs-body, 1rem);
	line-height: var(--lh-body, 1.8);
	color: var(--color-text, #2b2724);
}

.yifu-highlight::before {
	content: "";
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-ink, #2b2724);
}

/* 使用方法步骤 */
.yifu-step-list {
	display: grid;
	gap: var(--space-2, 8px);
	margin: 0;
	padding: 0 0 0 1.25em;
	list-style: decimal;
}

.yifu-step {
	margin: 0;
}

/* 无关联成分时的标签列表 */
.yifu-ingredient-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3, 12px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.yifu-ingredient-chip {
	padding: var(--space-2, 8px) var(--space-4, 16px);
	background: var(--color-white, #fff);
	border: 1px solid var(--color-border, #ece7e1);
	border-radius: var(--radius-md, 12px);
	font-size: 0.95rem;
	color: var(--color-text, #2b2724);
}

/* 购买面板 */
.yifu-buy-panel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6, 24px);
	padding: var(--space-8, 32px);
	background: var(--color-ivory, #faf7f3);
	border: 1px solid var(--color-border, #ece7e1);
	border-radius: var(--radius-lg, 18px);
}

.yifu-buy-panel__info {
	flex: 1 1 320px;
}

.yifu-buy-panel__title {
	margin: var(--space-2, 8px) 0 0;
	font-size: var(--fs-h3, 1.375rem);
}

.yifu-buy-panel__price {
	margin: var(--space-3, 12px) 0 0;
	font-family: var(--font-en, inherit);
	font-size: var(--fs-body-lg, 1.125rem);
	color: var(--color-ink, #2b2724);
}

.yifu-buy-panel__spec {
	margin-left: 8px;
	font-family: inherit;
	font-size: 0.85rem;
	color: var(--color-muted, #6f6862);
}

.yifu-buy-panel__contact {
	margin: var(--space-2, 8px) 0 0;
	font-size: 0.9rem;
	color: var(--color-muted, #6f6862);
}

/* 页脚社交媒体 / 备案号 */
.footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4, 16px);
	margin: var(--space-4, 16px) 0 0;
}

.footer-social__link {
	font-size: var(--fs-meta, 0.875rem);
	color: var(--footer-muted, rgba(247, 245, 241, 0.65));
	text-decoration: none;
	border-bottom: 1px solid var(--footer-border, rgba(247, 245, 241, 0.12));
	padding-bottom: 2px;
}

.footer-social__link:hover {
	color: var(--footer-text, #f7f5f1);
}

.footer-icp {
	display: inline-block;
	margin-top: 4px;
	font-size: var(--fs-small, 0.8125rem);
	color: var(--footer-muted, rgba(247, 245, 241, 0.65));
}

/* 产品系列页 */
.yifu-series-meta {
	margin: var(--space-4, 16px) 0 0;
	font-family: var(--font-en, inherit);
	font-size: var(--fs-meta, 0.875rem);
	letter-spacing: 0.08em;
	color: var(--color-muted, #74706a);
}

.yifu-series-links {
	margin-top: var(--space-16, 64px);
	padding-top: var(--space-8, 32px);
	border-top: 1px solid var(--color-warm-gray, #e5e1da);
}

.yifu-series-links__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3, 12px);
	margin-top: var(--space-4, 16px);
}

.yifu-series-links__list .tag {
	text-decoration: none;
}

/* 产品图集（后台「产品图集」有图片时显示） */
.yifu-gallery-grid {
	gap: var(--space-6, 24px);
}

.yifu-gallery-grid__item {
	margin: 0;
	border-radius: var(--radius-lg, 16px);
	overflow: hidden;
	background: var(--color-pearl, #f7f5f1);
}

.yifu-gallery-grid__item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

/* 富文本卖点（wp_editor 输出） */
.yifu-highlight-list.yifu-rich {
	display: block;
}

.yifu-highlight-list.yifu-rich > ul,
.yifu-highlight-list.yifu-rich > ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4, 16px) var(--space-8, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.yifu-highlight-list.yifu-rich li {
	position: relative;
	margin: 0;
	padding-left: var(--space-6, 24px);
	line-height: var(--lh-body, 1.8);
	color: var(--color-text, #252525);
}

.yifu-highlight-list.yifu-rich > ul > li::before,
.yifu-highlight-list.yifu-rich > ol > li::before {
	content: "";
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-ink, #2b2724);
}

.yifu-highlight-list.yifu-rich p {
	margin: 0 0 var(--space-4, 16px);
	line-height: var(--lh-body, 1.8);
}

.yifu-highlight-list.yifu-rich img,
.yifu-spec__value img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-md, 8px);
}

/* 产品信息表内的富文本排版 */
.yifu-spec__value ul,
.yifu-spec__value ol {
	margin: 0 0 var(--space-3, 12px);
	padding-left: var(--space-6, 24px);
}

.yifu-spec__value ul {
	list-style: disc;
}

.yifu-spec__value ol {
	list-style: decimal;
}

.yifu-spec__value li {
	margin-bottom: var(--space-2, 8px);
	line-height: var(--lh-body, 1.8);
}

.yifu-spec__value li:last-child {
	margin-bottom: 0;
}

.yifu-spec__value p:last-child {
	margin-bottom: 0;
}

/* ===== 用户评价卡片 ===== */
.testimonial-card {
	display: flex;
	flex-direction: column;
	gap: var(--space-4, 16px);
	height: 100%;
	padding: var(--space-6, 24px);
	background: #fff;
	border: 1px solid var(--color-warm-gray, #e5e1da);
	border-radius: var(--radius-lg, 16px);
}

.testimonial-card__head {
	display: flex;
	align-items: center;
	gap: var(--space-3, 12px);
}

.testimonial-card__avatar {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	overflow: hidden;
	background: var(--color-pearl, #f7f5f1);
}

.testimonial-card__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.testimonial-card__initial {
	font-family: var(--font-en, inherit);
	font-size: 1.1rem;
	color: var(--color-champagne, #b9a47b);
}

.testimonial-card__name {
	margin: 0;
	font-weight: 600;
	line-height: 1.4;
}

.testimonial-card__stars {
	margin: 2px 0 0;
	font-size: 0.9rem;
	letter-spacing: 0.12em;
	color: var(--color-champagne, #b9a47b);
}

.testimonial-card__content {
	flex: 1 1 auto;
	margin: 0;
	color: var(--color-text, #252525);
	line-height: var(--lh-body, 1.85);
}

.testimonial-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3, 12px);
	margin-top: auto;
	padding-top: var(--space-4, 16px);
	border-top: 1px solid var(--color-warm-gray, #e5e1da);
	font-size: var(--fs-small, 0.8125rem);
}

.testimonial-card__product {
	color: var(--color-muted, #74706a);
	text-decoration: none;
}

.testimonial-card__product:hover {
	color: var(--color-champagne, #b9a47b);
}

.testimonial-card__date {
	color: var(--color-tertiary, #9a958e);
}

/* ===== 产品参数表 ===== */
.yifu-param-table {
	width: 100%;
	border: 1px solid var(--color-warm-gray, #e5e1da);
	border-collapse: collapse;
}

.yifu-param-table th,
.yifu-param-table td {
	padding: var(--space-4, 16px) var(--space-6, 24px);
	text-align: left;
	vertical-align: top;
	line-height: 1.8;
	border-bottom: 1px solid var(--color-warm-gray, #e5e1da);
}

.yifu-param-table tr:last-child th,
.yifu-param-table tr:last-child td {
	border-bottom: 0;
}

.yifu-param-table th {
	width: 200px;
	font-weight: 500;
	color: var(--color-muted, #74706a);
	background: var(--color-ivory, #fbfaf8);
}

/* ===== 站内搜索 ===== */
.yifu-search-form {
	display: flex;
	gap: var(--space-3, 12px);
	max-width: 520px;
	margin-top: var(--space-8, 32px);
}

.yifu-search-form__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 52px;
	padding: 0 var(--space-4, 16px);
	font-size: 1rem;
	color: var(--color-text, #252525);
	background: #fff;
	border: 1px solid var(--color-warm-gray, #e5e1da);
	border-radius: var(--radius-sm, 4px);
}

.yifu-search-form__input:focus {
	outline: none;
	border-color: var(--color-champagne, #b9a47b);
}

.yifu-search-form .btn {
	height: 52px;
	padding-block: 0;
}

.yifu-search-empty {
	display: grid;
	justify-items: center;
	gap: var(--space-4, 16px);
	text-align: center;
}

.yifu-search-empty__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-3, 12px);
}

.yifu-search-empty__links .tag {
	text-decoration: none;
}

.search-card {
	height: 100%;
	background: #fff;
	border: 1px solid var(--color-warm-gray, #e5e1da);
	border-radius: var(--radius-lg, 16px);
	overflow: hidden;
}

.search-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.search-card__media {
	margin: 0;
	overflow: hidden;
	background: var(--color-pearl, #f7f5f1);
}

.search-card__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--motion-base, 360ms) var(--easing, ease);
}

.search-card:hover .search-card__media img {
	transform: scale(1.03);
}

.search-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--space-2, 8px);
	padding: var(--space-6, 24px);
}

.search-card__label {
	margin: 0;
	font-family: var(--font-en, inherit);
	font-size: var(--fs-eyebrow, 0.75rem);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-champagne, #b9a47b);
}

.search-card__title {
	margin: 0;
	font-family: var(--font-serif, serif);
	font-size: 1.15rem;
	line-height: 1.5;
}

.search-card__desc {
	flex: 1 1 auto;
	margin: 0;
	font-size: var(--fs-small, 0.8125rem);
	line-height: 1.75;
	color: var(--color-muted, #74706a);
}

.search-card__btn {
	align-self: flex-start;
	margin-top: var(--space-2, 8px);
	padding-bottom: 2px;
	font-size: var(--fs-small, 0.8125rem);
	color: var(--color-text, #252525);
	border-bottom: 1px solid var(--color-champagne, #b9a47b);
}

/* ===== 产品系列副标题 ===== */
.yifu-series-subtitle {
	margin: var(--space-3, 12px) 0 0;
	font-family: var(--font-en, inherit);
	font-size: var(--fs-meta, 0.875rem);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-champagne, #b9a47b);
}

/* ===== 咨询浮窗 ===== */
.consult-widget {
	position: fixed;
	right: var(--space-6, 24px);
	bottom: var(--space-6, 24px);
	z-index: 950; /* 低于导航(1000)与抽屉(1200)，不影响原导航 */
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--space-3, 12px);
}

.consult-widget__toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	background: var(--color-text, #252525);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-size: 0.95rem;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
	transition: transform var(--motion-fast, 220ms) var(--easing, ease), background-color var(--motion-fast, 220ms) var(--easing, ease);
}

.consult-widget__toggle:hover {
	transform: translateY(-2px);
	background: var(--color-champagne, #b9a47b);
	color: var(--color-text, #252525);
}

.consult-widget__icon {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-champagne, #b9a47b);
	box-shadow: 0 0 0 4px rgba(185, 164, 123, 0.25);
}

.consult-widget__panel {
	width: 280px;
	max-width: calc(100vw - 32px);
	padding: var(--space-6, 24px);
	background: #fff;
	border: 1px solid var(--color-warm-gray, #e5e1da);
	border-radius: var(--radius-lg, 16px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
}

.consult-widget__panel[hidden] {
	display: none;
}

.consult-widget__title {
	margin: 0 0 var(--space-4, 16px);
	font-family: var(--font-serif, serif);
	font-size: 1.05rem;
}

.consult-widget__qr {
	margin: 0 0 var(--space-4, 16px);
	text-align: center;
}

.consult-widget__qr img {
	width: 160px;
	height: 160px;
	object-fit: contain;
	border-radius: var(--radius-md, 8px);
	background: var(--color-pearl, #f7f5f1);
}

.consult-widget__qr figcaption {
	margin-top: 8px;
	font-size: var(--fs-small, 0.8125rem);
	color: var(--color-muted, #74706a);
}

.consult-widget__list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
	list-style: none;
}

.consult-widget__list li {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.consult-widget__label-text {
	flex: 0 0 auto;
	font-size: var(--fs-small, 0.8125rem);
	color: var(--color-tertiary, #9a958e);
}

.consult-widget__list a {
	color: var(--color-text, #252525);
	text-decoration: none;
	border-bottom: 1px solid var(--color-warm-gray, #e5e1da);
}

@media (max-width: 640px) {
	.consult-widget {
		right: 12px;
		bottom: 12px;
		left: 12px;
	}

	.consult-widget__panel {
		width: 100%;
	}

	.consult-widget__toggle {
		padding: 11px 18px;
		font-size: 0.9rem;
	}
}

@media (max-width: 768px) {
	.yifu-param-table th {
		width: 120px;
		padding: var(--space-3, 12px) var(--space-4, 16px);
	}

	.yifu-param-table td {
		padding: var(--space-3, 12px) var(--space-4, 16px);
	}

	.yifu-spec-list {
		grid-template-columns: 1fr;
	}

	.yifu-highlight-list {
		grid-template-columns: 1fr;
	}

	.yifu-highlight-list.yifu-rich > ul,
	.yifu-highlight-list.yifu-rich > ol {
		grid-template-columns: 1fr;
	}

	.yifu-buy-panel {
		padding: var(--space-6, 24px);
	}
}

/* ===== 咨询浮窗：按设备开关隐藏 ===== */
@media (min-width: 1024px) {
	.consult-widget--hide-pc {
		display: none !important;
	}
}

@media (max-width: 1023px) {
	.consult-widget--hide-mobile {
		display: none !important;
	}
}

/* ===== 评价来源 ===== */
.testimonial-card__source {
	color: var(--color-tertiary, #9a958e);
}

/* ===== 404 页面 ===== */
.yifu-404 {
	padding: var(--space-20, 80px) 0;
}

.yifu-404__hero {
	text-align: center;
	max-width: 640px;
	margin: 0 auto var(--space-20, 80px);
}

.yifu-404__title {
	font-size: 2rem;
	margin: var(--space-4, 16px) 0;
}

.yifu-404__desc {
	color: var(--color-tertiary, #9a958e);
	margin-bottom: var(--space-8, 32px);
}

.yifu-404__search-form {
	display: flex;
	gap: var(--space-3, 12px);
	max-width: 480px;
	margin: 0 auto var(--space-8, 32px);
}

.yifu-404__search-input {
	flex: 1;
	padding: 12px 18px;
	border: 1px solid var(--color-line, #e6e1d8);
	border-radius: 999px;
	background: #fff;
	font-size: 1rem;
}

.yifu-404__back {
	margin-top: var(--space-4, 16px);
}

.yifu-404__posts {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: var(--space-4, 16px);
}

/* ==========================================================
 * 真实口碑 / 护肤知识 动态页面（复用 static 设计变量与组件类）
 * ========================================================== */

/* Reveal 动画容错：无 JS 时正文始终可见；有 JS 时由 motion.js 逐步揭示。 */
.reveal {
	opacity: 1;
}

html.js .reveal {
	opacity: 0;
	transition: opacity 0.6s ease, transform 0.6s ease;
}

html.js .reveal.is-visible {
	opacity: 1;
}

/* 移动端主导航：当前栏目高亮（与桌面 .desktop-nav__item.is-active 一致） */
.mobile-nav-item.is-active > .mobile-nav-item__sublink,
.mobile-nav-item.is-active > .mobile-nav-item__toggle {
	color: var(--color-champagne, #b9a47b);
}

/* 通用区块标题（动态页复用） */
.section__title {
	font-family: var(--font-serif, serif);
	font-size: var(--fs-h2, 1.75rem);
	line-height: 1.4;
	margin: 0 0 var(--space-4, 16px);
}

.section__desc {
	color: var(--color-muted, #74706a);
	margin: 0 0 var(--space-6, 24px);
	max-width: 64ch;
	line-height: 1.85;
}

/* ---------- 真实口碑页 ---------- */
.reviews-hero {
	margin-bottom: var(--space-12, 48px);
}

.reviews-section {
	padding-top: var(--space-4, 16px);
}

.review-filter {
	display: flex;
	flex-direction: column;
	gap: var(--space-4, 16px);
	margin: var(--space-8, 32px) 0;
}

.review-filter__group {
	display: flex;
	align-items: center;
	gap: var(--space-3, 12px);
	flex-wrap: wrap;
}

.review-filter__label {
	font-size: var(--fs-meta, 0.85rem);
	color: var(--color-tertiary, #8a857d);
	min-width: 32px;
}

.review-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3, 12px);
	margin: 0;
}

.review-tab {
	display: inline-block;
	padding: 9px 20px;
	border: 1px solid var(--color-warm-gray, #e5e1da);
	background: #fff;
	border-radius: 999px;
	font-size: 0.9rem;
	line-height: 1.2;
	color: var(--color-text, #252525);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.review-tab:hover {
	border-color: var(--color-champagne, #b9a47b);
	color: var(--color-text, #252525);
}

.review-tab.is-active {
	background: var(--color-ink, #2b2724);
	color: #fff;
	border-color: var(--color-ink, #2b2724);
}

.review-grid {
	margin-top: var(--space-4, 16px);
}

.reviews-empty,
.knowledge-empty {
	color: var(--color-muted, #74706a);
	text-align: center;
	padding: var(--space-12, 48px) 0;
}

/* 筛选 / 隐藏工具类 */
.is-hidden {
	display: none !important;
}

.yifu-404__post {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-4, 16px);
	padding-bottom: var(--space-3, 12px);
	border-bottom: 1px solid var(--color-line, #e6e1d8);
}

.yifu-404__post-link {
	font-weight: 600;
	color: var(--color-ink, #2b2b2b);
}

.yifu-404__post-date {
	color: var(--color-tertiary, #9a958e);
	font-size: .9rem;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.yifu-404__post {
		flex-direction: column;
		gap: var(--space-1, 4px);
	}
}

/* ===== FAQ 关联系统（Phase 1） ===== */
.yifu-related-faq__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2, 8px);
	margin: var(--space-4, 16px) 0 0;
}

.yifu-related-faq__links-label {
	font-family: var(--font-en, inherit);
	font-size: var(--fs-eyebrow, 0.75rem);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-tertiary, #9a9088);
}

.yifu-related-faq__links .tag {
	text-decoration: none;
}

/* 锚点定位：避免被固定导航遮挡 */
.faq-item {
	scroll-margin-top: 96px;
}

/* 知识文章单篇主图 */
.yifu-article-hero {
	padding-top: 0;
}

.yifu-article-hero img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--radius-lg, 16px);
	background: var(--color-pearl, #f7f5f1);
}

/* ===== FAQ 分类筛选（Phase 2） ===== */
.faq-cat-filter {
	display: flex;
	justify-content: center;
	margin: var(--space-8, 32px) 0 var(--space-2, 8px);
}

.faq-cat-filter__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-2, 8px) var(--space-3, 12px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.faq-cat-filter__link {
	display: inline-block;
	padding: var(--space-2, 8px) var(--space-4, 16px);
	background: var(--color-white, #fff);
	border: 1px solid var(--color-warm-gray, #e5e1da);
	border-radius: var(--radius-md, 8px);
	color: var(--color-text, #252525);
	font-size: 0.95rem;
	text-decoration: none;
	transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}

.faq-cat-filter__link:hover {
	border-color: var(--color-champagne, #b9a47b);
	color: var(--color-ink, #2b2724);
}

.faq-cat-filter__link.is-active {
	background: var(--color-champagne, #b9a47b);
	border-color: var(--color-champagne, #b9a47b);
	color: #fff;
}

/* ===== 肌肤问题关联（Phase 4.0-C2） ===== */
.yifu-related-concern__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2, 8px);
	margin: var(--space-4, 16px) 0 0;
}

.yifu-related-concern__label {
	font-family: var(--font-en, inherit);
	font-size: var(--fs-eyebrow, 0.75rem);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-tertiary, #9a9088);
	margin-right: 4px;
}

.yifu-related-concern__tags .tag {
	text-decoration: none;
}

/* YIFU mobile product cards: keep desktop row alignment above 768px. */
@media (max-width: 768px) {
  .grid > .product-card,
  .grid > .product-card > a,
  .grid > .product-card .product-card__body {
    display: flex;
    flex-direction: column;
    grid-row: auto;
    grid-template-rows: none;
  }

  .product-card .product-card__body {
    padding: 20px 20px 24px;
  }

  .product-card .product-card__image {
    width: 100%;
    aspect-ratio: 1 / 1;
    max-height: 320px;
    margin: 0;
  }

  .product-card .product-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .grid > .product-card .product-card__name,
  .grid > .product-card .product-card__desc,
  .grid > .product-card .product-card__meta,
  .grid > .product-card .product-card__tags {
    grid-row: auto;
    min-height: 0;
  }

  .grid > .product-card .product-card__desc {
    flex: initial;
    margin-bottom: 12px;
  }

  .grid > .product-card .product-card__meta {
    margin-top: 0;
  }

  .product-card .product-card__tags:not(:has(.tag)) {
    display: none;
  }
}

/* Homepage formula section: let the introduction and cards fit small screens. */
.home-formula__layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-16);
  align-items: center;
}

.home-formula__intro,
.home-formula__cards {
  min-width: 0;
}

@media (max-width: 1024px) {
  .home-formula__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    align-items: start;
  }

  .home-formula__cards.grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-formula__cards .ingredient-card--icon {
    height: auto;
    min-height: 144px;
    padding: 20px;
    gap: 16px;
  }

  .home-formula__cards .ingredient-card__inci {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 600px) {
  .home-formula__cards.grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-formula__intro h2 {
    font-size: 28px;
    line-height: 1.4;
  }

  .home-formula__cards .ingredient-card--icon {
    min-height: 132px;
  }

  .home-formula__cards .ingredient-card__icon {
    width: 64px;
    height: 64px;
  }
}

/* Shared editorial layouts used by the home, brand, research and science pages. */
.content-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-16);
  align-items: center;
}

.content-split > *,
.home-knowledge__layout > * {
  min-width: 0;
}

.content-split__media {
  overflow: hidden;
}

.content-split__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-knowledge__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: var(--space-8);
}

.home-knowledge__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.science-concerns__grid {
  gap: var(--space-6);
}

.tolerance-questions {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

@media (max-width: 768px) {
  .content-split,
  .home-knowledge__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    align-items: start;
  }

  .content-split h2 {
    font-size: 28px;
    line-height: 1.4;
  }

  .content-split__media {
    width: 100%;
    max-width: 480px;
    margin-inline: auto;
  }

  .home-knowledge__list {
    gap: 0;
  }

  .home-knowledge__list .article-card {
    padding-block: 20px;
    border-top: 1px solid var(--color-warm-gray);
  }

  .home-knowledge__list .article-card__title {
    font-size: 20px;
    line-height: 1.5;
  }

  .home-knowledge__list .article-card__date {
    margin-bottom: 0;
  }

  .brand-research .ingredient-card {
    padding: 20px;
  }

  .tolerance-questions {
    gap: 0;
  }

  .tolerance-questions > p {
    margin: 0;
    padding-block: 14px;
    border-top: 1px solid var(--color-warm-gray);
  }

  .science-concerns__grid {
    gap: 12px;
  }

  .science-concerns .concern-card {
    min-height: 118px;
    padding: 20px;
  }

  .science-concerns .concern-card__name {
    font-size: 20px;
    margin-bottom: 8px;
  }
}

/* Patent detail: use full-width reading blocks on phones. */
.research-detail__hero {
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  gap: var(--space-12);
}

.research-detail__title {
  font-size: clamp(2.2rem, 4vw, 3.8rem);
}

.research-detail__patent-info {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--space-4);
  padding: var(--space-8);
  background-color: var(--color-ivory);
  border-radius: var(--radius-md);
}

.research-detail__patent-info > div,
.research-detail__verification > div {
  min-width: 0;
  overflow-wrap: anywhere;
}

.research-detail__verification {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
}

.research-detail__verification-card {
  padding: var(--space-8);
}

@media (max-width: 768px) {
  .research-detail__hero,
  .research-detail__patent-info,
  .research-detail__verification {
    grid-template-columns: minmax(0, 1fr);
  }

  .research-detail__hero {
    gap: 28px;
  }

  .research-detail__title {
    font-size: 30px;
    line-height: 1.35;
  }

  .research-detail__patent-info {
    padding: 20px;
    gap: 16px;
  }

  .research-detail__patent-info > div + div {
    padding-top: 16px;
    border-top: 1px solid var(--color-warm-gray);
  }

  .research-detail__verification {
    gap: 16px;
  }

  .research-detail__verification-card {
    padding: 20px;
  }

  .research-detail__related-ingredients .ingredient-card--visual {
    min-height: 104px;
    padding: 20px;
    justify-content: center;
  }

  .research-detail__related-ingredients .ingredient-card__name {
    margin-bottom: 8px;
  }

  .research-detail__related-ingredients .ingredient-card__role {
    margin-bottom: 0;
  }
}

/* Compact category and series filters on phones. */
@media (max-width: 768px) {
  .blog-filter {
    gap: 8px;
    margin-bottom: 24px;
  }

  .blog-filter .tag {
    min-height: 36px;
    padding: 6px 14px;
    font-size: 14px;
    line-height: 1.4;
  }
}

/* Product body is edited in the native rich text editor, below the hero. */
.yifu-product-description__content {
  max-width: 1120px;
  margin-inline: auto;
}

.yifu-packaging-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-block: 24px;
  align-items: start;
}

.prose .yifu-packaging-grid figure {
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

.yifu-packaging-grid a {
  display: block;
}

.yifu-packaging-grid img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.prose .yifu-packaging-grid figcaption {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-muted);
}

@media (max-width: 768px) {
  .yifu-packaging-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

