/*
Theme Name: Foundation Theme
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: Custom
Author URI: https://wordpress.org
Description: 基于 Foundation CSS 框架的主题，强调简洁、专业和现代感的设计。
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ibm-foundation
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/* ===== 企业站色彩（稳重蓝灰系） ===== */
:root {
	--primary: #1e40af;
	--primary-dark: #1e3a8a;
	--primary-light: #3b82f6;
	--gray-10: #f8fafc;
	--gray-20: #e2e8f0;
	--gray-30: #cbd5e1;
	--gray-50: #64748b;
	--gray-70: #475569;
	--gray-90: #0f172a;
	--white: #ffffff;
	--text-primary: #0f172a;
	--text-secondary: #475569;
	--footer-bg: #f1f5f9;
	--footer-bottom-bg: #e2e8f0;
	--cta-bg: #1e3a8a;
}

/* ===== 全局基础 ===== */
body {
	color: var(--text-primary);
	background-color: var(--white);
	line-height: 1.5;
	font-size: 16px;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 1rem;
	line-height: 1.2;
}

h1 { font-size: 2.5rem; font-weight: 700; letter-spacing: -0.02em; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }

a {
	color: var(--primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover,
a:focus {
	color: var(--primary-dark);
	text-decoration: underline;
}

/* ===== 按钮 ===== */
.button,
.wp-block-button__link {
	background-color: var(--primary);
	color: var(--white);
	border: 2px solid var(--primary);
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 0;
	transition: all 0.2s ease;
}

.button:hover,
.wp-block-button__link:hover {
	background-color: var(--primary-dark);
	border-color: var(--primary-dark);
	color: var(--white);
}

.button.secondary {
	background-color: transparent;
	color: var(--primary);
	border-color: var(--primary);
}

.button.secondary:hover {
	background-color: var(--primary);
	color: var(--white);
}

/* ===== 导航栏 ===== */
.top-bar {
	background-color: var(--white);
	border-bottom: 1px solid var(--gray-20);
	align-items: center;
	position: relative;
	z-index: 9999;
	overflow: visible;
}

.top-bar-left,
.top-bar-right,
.top-bar .menu,
.top-bar ul {
	overflow: visible;
}

/* 下拉子菜单不被页面其他元素遮挡 */
.top-bar .submenu,
.top-bar .is-dropdown-submenu,
.top-bar .dropdown.menu .is-dropdown-submenu {
	z-index: 10000;
	display: none;
	background: var(--white);
	min-width: 400px;
	padding: 0.5rem;
	margin-top: 0.5rem;
}

.top-bar .has-submenu.is-active .submenu,
.top-bar .has-submenu.is-active .is-dropdown-submenu,
.top-bar .has-submenu.is-active .dropdown.menu .is-dropdown-submenu {
	display: block;
}

.top-bar-left,
.top-bar-right {
	align-items: center;
}

.top-bar ul {
	background-color: transparent;
	align-items: center;
}

.top-bar .menu > li {
	display: flex;
	align-items: center;
	overflow: visible;
}

.top-bar .menu > li.has-submenu {
	position: relative;
}

.top-bar .menu-text a {
	display: flex;
	align-items: center;
}

.top-bar .menu-text img {
	vertical-align: middle;
}

.top-bar a {
	color: var(--text-primary);
	font-weight: 400;
}

.top-bar a:hover {
	color: var(--primary);
	background-color: transparent;
}

.top-bar .menu-text {
	color: var(--text-primary);
	font-weight: 600;
}

.top-bar .search-form {
	display: flex;
	align-items: center;
}

.top-bar .search-form input[type="search"] {
	flex: 1;
	padding: 0.5rem;
	margin-right: 0;
	border: 1px solid var(--gray-20);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.top-bar .search-form input[type="search"]:focus {
	border-color: var(--primary);
	outline: none;
}

/* ===== 表单 ===== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
	border: 1px solid var(--gray-30);
	border-radius: 0;
	padding: 0.75rem;
	font-size: 0.875rem;
	font-family: inherit;
	transition: border-color 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--primary);
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

/* ===== 分隔线 ===== */
hr {
	border: none;
	border-top: 1px solid var(--gray-20);
	margin: 2rem 0;
}

/* ===== 全局样式 ===== */
.tabs-title>a{
	font-size: large;
	color: #000;
	text-decoration: none;
	background-color: var(--gray-10);
	border: 1px solid var(--gray-20);
	transition: all 0.2s ease;
}

/* ===== 首页（国际 B2B 风格：留白、层级、信任感） ===== */
.home-hero {
	padding: 3.5rem 0;
	background: linear-gradient(135deg, var(--gray-10) 0%, var(--gray-20) 100%);
	margin-bottom: 0;
	position: relative;
}

.home-hero--has-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.home-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	pointer-events: none;
}

.home-hero--has-image .home-hero-content {
	position: relative;
	z-index: 1;
}

.home-hero--has-image .home-hero-label,
.home-hero--has-image .home-hero-title,
.home-hero--has-image .home-hero-subtitle,
.home-hero--has-image .home-hero-note {
	color: #fff;
}

.home-hero--has-image .home-hero-subtitle,
.home-hero--has-image .home-hero-note {
	color: rgba(255, 255, 255, 0.9);
}

.home-hero-content {
	text-align: center;
	max-width: 720px;
	margin: 0 auto;
}

.home-hero-title {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
}

.home-hero-subtitle {
	font-size: 1.125rem;
	color: var(--text-secondary);
	margin-bottom: 1.5rem;
	line-height: 1.6;
}

.home-hero-label {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--primary);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.home-hero-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

.home-hero-note {
	font-size: 0.875rem;
	color: var(--text-secondary);
	margin-top: 1rem;
}

/* 产品应用关键词 */
.home-keywords {
	padding: 1rem 0;
	border-bottom: 1px solid var(--gray-20);
	margin-bottom: 2rem;
}

.home-keywords-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1rem;
}

.home-keyword {
	display: inline-block;
	padding: 0.35rem 0.75rem;
	font-size: 0.8125rem;
	color: var(--text-secondary);
	background: var(--gray-10);
	border-radius: 4px;
}

/* 产品分类快捷入口 */
.home-categories {
	padding: 3.5rem 0;
	background: var(--white);
	margin-bottom: 0;
}

.home-categories-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 0.75rem;
	margin-bottom: 1rem;
}

.home-category-pill {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	font-size: 0.9375rem;
	color: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 4px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.home-category-pill:hover {
	background: var(--primary);
	color: var(--white);
}

.home-categories-all {
	display: block;
	text-align: center;
	font-size: 0.9375rem;
	color: var(--primary);
	font-weight: 500;
}

.home-categories-all:hover {
	text-decoration: underline;
}

/* 为什么选择我们 */
.home-why {
	padding: 3.5rem 0;
	background: var(--gray-10);
	margin-bottom: 0;
	border-top: 1px solid var(--gray-20);
}

.home-why-grid .cell {
	margin-bottom: 1.5rem;
}

.home-why-item {
	padding: 1.75rem;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 6px;
	height: 100%;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.home-why-item:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	border-color: var(--gray-30);
}

.home-why-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	background: var(--primary);
	color: var(--white);
	font-size: 1rem;
	font-weight: 700;
	border-radius: 4px;
	margin-bottom: 0.75rem;
}

.home-why-title {
	font-size: 1.0625rem;
	margin-bottom: 0.5rem;
}

.home-why-item p {
	font-size: 0.875rem;
	color: var(--text-secondary);
	line-height: 1.5;
	margin: 0;
}

/* 关于我们一句话 */
.home-about-strip {
	padding: 3.5rem 0;
	background: var(--white);
	margin-bottom: 0;
	border-top: 1px solid var(--gray-20);
}

.home-about-strip-inner {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

.home-about-strip-title {
	font-size: 1.375rem;
	margin-bottom: 0.75rem;
	font-weight: 600;
}

.home-about-strip-text {
	font-size: 0.9375rem;
	color: var(--text-secondary);
	line-height: 1.7;
	margin-bottom: 1rem;
}

.home-about-strip-link {
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--primary);
}

.home-about-strip-link:hover {
	text-decoration: underline;
}

.home-business {
	padding: 3.5rem 0;
	margin-bottom: 0;
	border-top: 1px solid var(--gray-20);
}

.home-business-card {
	padding: 2.25rem;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 6px;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.home-business-card:hover {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
	border-color: var(--gray-30);
}

.home-business-title {
	font-size: 1.25rem;
	margin-bottom: 0.75rem;
	font-weight: 600;
}

.home-business-card p {
	flex: 1;
	margin-bottom: 1.5rem;
	color: var(--text-secondary);
	line-height: 1.6;
	font-size: 0.9375rem;
}

.home-products {
	padding: 3.5rem 0;
	background: var(--gray-10);
	margin-bottom: 0;
}

.home-section-title {
	text-align: center;
	font-size: 1.875rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}

.home-section-subtitle {
	text-align: center;
	font-size: 1rem;
	color: var(--text-secondary);
	margin-bottom: 2.25rem;
	line-height: 1.5;
}

.home-product-grid .cell {
	margin-bottom: 1.5rem;
}

.home-product-card {
	display: block;
	height: 100%;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 6px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.home-product-card:hover {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
	border-color: var(--gray-30);
}

.home-product-image {
	height: 180px;
	overflow: hidden;
	background: var(--gray-10);
}

.home-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-product-placeholder {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	color: var(--gray-50);
}

.home-product-body {
	padding: 1.25rem;
}

.home-product-title {
	font-size: 1.125rem;
	margin-bottom: 0.5rem;
}

.home-product-desc {
	font-size: 0.875rem;
	color: var(--text-secondary);
	margin-bottom: 0.5rem;
	line-height: 1.5;
}

.home-product-price {
	display: block;
	font-weight: 600;
	color: var(--primary);
	margin-bottom: 0.5rem;
}

.home-product-link {
	font-size: 0.875rem;
	color: var(--primary);
}

.home-products-more,
.home-news-more {
	text-align: center;
	margin-top: 1.5rem;
}

.home-news {
	padding: 3.5rem 0;
	margin-bottom: 0;
}

.home-news-grid .cell {
	margin-bottom: 1.5rem;
}

.home-news-card {
	display: block;
	height: 100%;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 6px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.home-news-card:hover {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
	border-color: var(--gray-30);
}

.home-news-image {
	height: 160px;
	overflow: hidden;
	background: var(--gray-10);
}

.home-news-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-news-body {
	padding: 1.25rem;
}

.home-news-date {
	font-size: 0.8125rem;
	color: var(--text-secondary);
	margin-bottom: 0.5rem;
}

.home-news-title {
	font-size: 1.0625rem;
	margin-bottom: 0.5rem;
}

.home-news-card:hover .home-news-title {
	color: var(--primary);
}

.home-news-excerpt {
	font-size: 0.875rem;
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.5;
}

/* 首页 CTA：企业蓝深色条，与浅色 footer 对比 */
.home-cta {
	padding: 3.5rem 0;
	background: var(--cta-bg);
	color: var(--gray-20);
	margin-bottom: 0;
}

.home-cta-content {
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
}

.home-cta-title {
	color: var(--white);
	font-size: 1.75rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
	line-height: 1.3;
}

.home-cta-text {
	margin-bottom: 1.5rem;
	color: var(--gray-20);
}

.home-cta .button {
	border-color: var(--white);
	color: var(--white);
	background: transparent;
}

.home-cta .button:hover {
	background: var(--white);
	color: var(--cta-bg);
	border-color: var(--white);
}

@media screen and (min-width: 40em) {
	.home-hero {
		padding: 4rem 0;
	}

	.home-hero-title {
		font-size: 3rem;
	}
}

/* ===== 产品 Banner（小型） ===== */
.product-banner {
	position: relative;
	z-index: 1;
	padding: 1.5rem 0;
	background: linear-gradient(135deg, var(--gray-10) 0%, var(--gray-20) 100%);
	background-size: cover;
	background-position: center;
	margin-bottom: 2rem;
}

.product-banner--has-image::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 0;
}

.product-banner .product-banner-inner {
	position: relative;
	z-index: 1;
}

.product-banner--has-image .product-banner-title,
.product-banner--has-image .product-banner-subtitle,
.product-banner--has-image .product-banner-breadcrumbs {
	color: var(--white);
}

.product-banner--has-image .product-banner-breadcrumbs .breadcrumbs a,
.product-banner--has-image .product-banner-breadcrumbs .breadcrumbs .disabled {
	color: rgba(255, 255, 255, 0.9);
}

.product-banner-inner .product-banner-content {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.product-banner .product-banner-breadcrumbs .breadcrumbs {
	margin-bottom: 0.25rem;
	font-size: 0.875rem;
}

.product-banner-title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.3;
}

.product-banner-subtitle {
	margin: 0;
	font-size: 0.95rem;
	opacity: 0.85;
}

@media screen and (min-width: 40em) {
	.product-banner {
		padding: 2rem 0;
	}

	.product-banner-title {
		font-size: 1.75rem;
	}
}

/* ===== 分类页侧栏（简洁分隔 + Foundation vertical menu） ===== */
.taxonomy-sidebar-block {
	padding-bottom: 1.25rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--gray-20);
}
.taxonomy-sidebar-block:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.taxonomy-sidebar-title {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--text-primary);
	margin: 0 0 0.35rem 0;
	line-height: 1.3;
}
.taxonomy-sidebar-current {
	font-size: 0.875rem;
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.4;
}
.taxonomy-sidebar-current strong {
	color: var(--text-primary);
}
.taxonomy-sidebar-heading {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--text-secondary);
	margin: 0 0 0.6rem 0;
	line-height: 1.3;
}
.product-taxonomy-sidebar .vertical.menu {
	border: none;
	background: transparent;
}
.product-taxonomy-sidebar .vertical.menu a {
	background: transparent;
	color: var(--text-primary);
}
.product-taxonomy-sidebar .vertical.menu a:hover {
	background: transparent;
	color: var(--primary);
}
.product-taxonomy-sidebar .vertical.menu li.is-active a,
.treatment-sidebar .vertical.menu li.is-active a {
	background: transparent;
	color: var(--primary);
	font-weight: 600;
}

.treatment-sidebar .vertical.menu {
	border: none;
	background: transparent;
}
.treatment-sidebar .vertical.menu a {
	background: transparent;
	color: var(--text-primary);
}
.treatment-sidebar .vertical.menu a:hover {
	background: transparent;
	color: var(--primary);
}

.taxonomy-sidebar-meta {
	font-size: 0.8125rem;
	color: var(--text-secondary);
	margin: 0.25rem 0 0 0;
}
.product-taxonomy-sidebar .vertical.menu .tag-count {
	font-size: 0.8125rem;
	color: var(--text-secondary);
	margin-left: 0.25rem;
}

/* 产品标签聚合页：标签描述区块 */
.product-tag-archive .product-tag-intro {
	margin-bottom: 2rem;
	padding: 1.5rem;
	background: var(--gray-05, #f8f8f8);
	border-radius: 4px;
}
.product-tag-archive .product-tag-description {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--text-primary);
}
.product-tag-archive .product-tag-description p:last-child {
	margin-bottom: 0;
}

/* ===== 产品列表页（参照 Cynosure 风格） ===== */
.product-archive {
	margin-bottom: 3rem;
}

.product-filters {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--gray-20);
}

.product-filters-title {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--text-secondary);
	margin-bottom: 1rem;
}

.product-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
}

.product-filter-tabs .product-filter-item {
	margin: 0;
}

.product-filter-tabs .product-filter-item a {
	display: inline-block;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	color: var(--gray-70);
	background: var(--gray-10);
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
}

.product-filter-tabs .product-filter-item a:hover {
	background: var(--gray-20);
	color: var(--text-primary);
}

.product-filter-tabs .product-filter-item.is-active a {
	background: var(--primary);
	color: var(--white);
}

.product-grid-section {
	margin-bottom: 2rem;
}

.product-grid {
	margin-bottom: 2rem;
}

.product-card-wrapper {
	margin-bottom: 1.5rem;
}

.product-card {
	display: block;
	height: 100%;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.product-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--gray-30);
}

.product-card-image {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
	background: var(--gray-10);
}

.product-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	color: var(--gray-50);
}

.product-card-body {
	padding: 1.25rem;
}

.product-card-title {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
	line-height: 1.35;
	color: var(--text-primary);
}

.product-card-desc {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--text-secondary);
	margin: 0 0 0.75rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.product-card-price {
	display: block;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--primary);
	margin-bottom: 0.5rem;
}

.product-card-link {
	font-size: 0.875rem;
	color: var(--primary);
	font-weight: 500;
}

.product-card:hover .product-card-link {
	text-decoration: underline;
}

.product-pagination {
	margin-top: 2rem;
}

.product-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.product-pagination .page-numbers li {
	margin: 0;
}

.product-pagination .page-numbers a,
.product-pagination .page-numbers span {
	display: inline-block;
	padding: 0.5rem 0.875rem;
	font-size: 0.875rem;
	color: var(--gray-70);
	background: var(--gray-10);
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
	text-decoration: none;
}

.product-pagination .page-numbers a:hover {
	background: var(--gray-20);
	color: var(--text-primary);
}

.product-pagination .page-numbers .current {
	background: var(--primary);
	color: var(--white);
}

.product-pagination .page-numbers .prev a,
.product-pagination .page-numbers .next a {
	font-weight: 500;
}

@media screen and (min-width: 40em) {
	.product-card-image {
		height: 220px;
	}
}

@media screen and (min-width: 64em) {
	.product-card-image {
		height: 240px;
	}
}

/* ===== Treatment 列表页（Foundation 框架，与产品列表风格统一） ===== */
.treatment-archive {
	margin-bottom: 3rem;
	padding: 0 1rem;
}

.treatment-grid-section {
	margin-bottom: 2rem;
}

.treatment-grid {
	margin-bottom: 2rem;
}

.treatment-card-wrapper {
	margin-bottom: 1.5rem;
}

.treatment-card {
	display: block;
	height: 100%;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.treatment-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--gray-30);
}

.treatment-card-image {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
	background: var(--gray-10);
}

.treatment-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.treatment-card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	color: var(--gray-50);
}

.treatment-card-body {
	padding: 1.25rem;
}

.treatment-card-title {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
	line-height: 1.35;
	color: var(--text-primary);
}

.treatment-card-desc {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--text-secondary);
	margin: 0 0 0.75rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.treatment-card-link {
	font-size: 0.875rem;
	color: var(--primary);
	font-weight: 500;
}

.treatment-card:hover .treatment-card-link {
	text-decoration: underline;
}

.treatment-pagination {
	margin-top: 2rem;
}

.treatment-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.treatment-pagination .page-numbers li {
	margin: 0;
}

.treatment-pagination .page-numbers a,
.treatment-pagination .page-numbers span {
	display: inline-block;
	padding: 0.5rem 0.875rem;
	font-size: 0.875rem;
	color: var(--gray-70);
	background: var(--gray-10);
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
	text-decoration: none;
}

.treatment-pagination .page-numbers a:hover {
	background: var(--gray-20);
	color: var(--text-primary);
}

.treatment-pagination .page-numbers .current {
	background: var(--primary);
	color: var(--white);
}

.treatment-pagination .page-numbers .prev a,
.treatment-pagination .page-numbers .next a {
	font-weight: 500;
}

@media screen and (min-width: 40em) {
	.treatment-card-image {
		height: 220px;
	}
}

@media screen and (min-width: 64em) {
	.treatment-card-image {
		height: 240px;
	}
}

/* ===== 文章列表页（参照 Cynosure News 风格） ===== */
.post-archive {
	margin-bottom: 3rem;
}

.post-filters {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--gray-20);
}

.post-filters-title {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--text-secondary);
	margin-bottom: 1rem;
}

.post-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.post-filter-tabs .post-filter-item {
	margin: 0;
}

.post-filter-tabs .post-filter-item a {
	display: inline-block;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	color: var(--gray-70);
	background: var(--gray-10);
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
	text-decoration: none;
}

.post-filter-tabs .post-filter-item a:hover {
	background: var(--gray-20);
	color: var(--text-primary);
}

.post-filter-tabs .post-filter-item.is-active a {
	background: var(--primary);
	color: var(--white);
}

.post-grid-section {
	margin-bottom: 2rem;
}

.post-grid {
	margin-bottom: 2rem;
}

.post-card-wrapper {
	margin-bottom: 1.5rem;
}

.post-card {
	margin: 0;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.post-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--gray-30);
}

.post-card-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.post-card-image {
	position: relative;
	width: 100%;
	height: 180px;
	overflow: hidden;
	background: var(--gray-10);
}

.post-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	color: var(--gray-50);
}

.post-card-body {
	padding: 1.25rem;
}

.post-card-date {
	display: block;
	font-size: 0.8125rem;
	color: var(--text-secondary);
	margin-bottom: 0.5rem;
}

.post-card-title {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
	line-height: 1.35;
	color: var(--text-primary);
}

.post-card-link:hover .post-card-title {
	color: var(--primary);
}

.post-card-excerpt {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--text-secondary);
	margin: 0 0 0.75rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.post-card-more {
	font-size: 0.875rem;
	color: var(--primary);
	font-weight: 500;
}

.post-card-link:hover .post-card-more {
	text-decoration: underline;
}

.post-pagination {
	margin-top: 2rem;
}

.post-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.post-pagination .page-numbers li {
	margin: 0;
}

.post-pagination .page-numbers a,
.post-pagination .page-numbers span {
	display: inline-block;
	padding: 0.5rem 0.875rem;
	font-size: 0.875rem;
	color: var(--gray-70);
	background: var(--gray-10);
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
	text-decoration: none;
}

.post-pagination .page-numbers a:hover {
	background: var(--gray-20);
	color: var(--text-primary);
}

.post-pagination .page-numbers .current {
	background: var(--primary);
	color: var(--white);
}

@media screen and (min-width: 40em) {
	.post-card-image {
		height: 200px;
	}
}

@media screen and (min-width: 64em) {
	.post-card-image {
		height: 220px;
	}
}

/* ===== 文章详情页（参照 Cynosure 风格） ===== */
.single-post {
	margin-bottom: 3rem;
}

.single-post-header {
	margin-bottom: 1.5rem;
}

.single-post-meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}

.single-post-date {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.2;
	font-size: 1rem;
	color: var(--text-secondary);
}

.single-post-day {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--text-primary);
}

.single-post-month {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.single-post-year {
	font-size: 0.875rem;
}

.single-post-category {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	font-size: 0.8125rem;
	color: var(--primary);
	background: rgba(13, 110, 253, 0.1);
	border-radius: 4px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.single-post-category:hover {
	background: rgba(13, 110, 253, 0.2);
	color: #0a58ca;
}

.single-post-title {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 1rem;
	color: var(--text-primary);
}

.single-post-featured-image {
	margin-bottom: 2rem;
	border-radius: 4px;
	overflow: hidden;
	background: var(--gray-10);
}

.single-post-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

.single-post-content {
	max-width: 42rem;
	line-height: 1.7;
}

.single-post-content p {
	margin-bottom: 1.25rem;
}

.single-post-content h2 {
	font-size: 1.375rem;
	font-weight: 600;
	margin: 2rem 0 1rem;
}

.single-post-content h3 {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 1.5rem 0 0.75rem;
}

.single-post-content ul,
.single-post-content ol {
	margin-bottom: 1.25rem;
	padding-left: 1.5rem;
}

.single-post-content li {
	margin-bottom: 0.5rem;
}

.single-post-content img {
	max-width: 100%;
	height: auto;
}

.single-post-content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.5rem;
	border-left: 4px solid var(--primary);
	background: var(--gray-10);
	color: var(--gray-70);
	font-style: italic;
}

.related-posts-section {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--gray-20);
}

.related-posts-heading {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0 0 1.5rem;
}

.related-posts-grid .cell {
	margin-bottom: 1.5rem;
}

.related-post-card {
	display: block;
	height: 100%;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.related-post-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--gray-30);
}

.related-post-image {
	width: 100%;
	height: 160px;
	overflow: hidden;
	background: var(--gray-10);
}

.related-post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.related-post-body {
	padding: 1.25rem;
}

.related-post-category {
	display: block;
	font-size: 0.75rem;
	color: var(--primary);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin-bottom: 0.5rem;
}

.related-post-title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
	line-height: 1.4;
	color: var(--text-primary);
}

.related-post-card:hover .related-post-title {
	color: var(--primary);
}

.related-post-excerpt {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--text-secondary);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media screen and (min-width: 40em) {
	.single-post-title {
		font-size: 2rem;
	}
}

@media screen and (min-width: 64em) {
	.single-post-title {
		font-size: 2.25rem;
	}
}

/* ===== 相关产品 ===== */
.related-products-section {
	margin-top: 2rem;
}

.related-products-heading {
	margin: 0 0 1.5rem;
	font-size: 1.25rem;
	font-weight: 600;
}

.related-products-grid .cell {
	margin-bottom: 1rem;
}

.related-product-card.card {
	display: block;
	height: 100%;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s ease;
}

.related-product-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.related-product-card .thumbnail {
	width: 100%;
	height: 180px;
	object-fit: cover;
	margin-bottom: 0.75rem;
}

.related-product-placeholder {
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.75rem;
	font-size: 0.875rem;
	color: var(--text-secondary);
}

.related-product-title {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	line-height: 1.4;
}

.related-product-price {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	color: var(--primary);
}

.related-product-excerpt {
	margin: 0;
	font-size: 0.875rem;
	color: var(--text-secondary);
	line-height: 1.4;
}

/* ===== 页面内容 ===== */
.page-content {
	margin-bottom: 2rem;
}

.page-body {
	line-height: 1.6;
}

.page-body img {
	max-width: 100%;
	height: auto;
}

/* ===== 页脚（国际 B2B：浅色底、深色字，易读专业） ===== */
.site-footer {
	background: var(--footer-bg);
	color: var(--text-primary);
	margin-top: 0;
	border-top: 1px solid var(--gray-20);
}

.footer-main {
	padding: 2.5rem 0;
}

.footer-column {
	margin-bottom: 1.5rem;
}

.footer-title {
	color: var(--text-primary);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.footer-desc,
.footer-address {
	font-size: 0.875rem;
	line-height: 1.6;
	margin-bottom: 0.5rem;
	color: var(--text-secondary);
}

.footer-menu.menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu.menu li {
	margin-bottom: 0.35rem;
}

.footer-menu.menu a {
	color: var(--text-secondary);
	font-size: 0.875rem;
	transition: color 0.2s ease;
}

.footer-menu.menu a:hover {
	color: var(--primary);
}

.footer-bottom {
	background: var(--footer-bottom-bg);
	border-top: 1px solid var(--gray-20);
	padding: 1rem 0;
	color: var(--text-secondary);
}

.footer-bottom-menu.menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-bottom-menu.menu li span {
	font-size: 0.8125rem;
	color: var(--text-secondary);
}

.footer-bottom-menu.menu a {
	color: var(--text-secondary);
	font-size: 0.8125rem;
	transition: color 0.2s ease;
}

.footer-bottom-menu.menu a:hover {
	color: var(--primary);
}

.footer-social-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

.footer-social-links a {
	color: var(--text-secondary);
	font-size: 0.8125rem;
	transition: color 0.2s ease;
}

.footer-social-links a:hover {
	color: var(--primary);
}

@media screen and (min-width: 40em) {
	.footer-main {
		padding: 3rem 0;
	}

	.footer-column {
		margin-bottom: 0;
	}
}

/* ===== 加固布局样式（提高优先级，避免被插件/块覆盖） ===== */
body .site-footer {
	margin-top: 0 !important;
	padding-top: 0;
}

body .home-cta,
body .home-news {
	margin-bottom: 0 !important;
}

body .site-footer .footer-main {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

@media screen and (min-width: 40em) {
	body .site-footer .footer-main {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
}

/* ===== 编辑器样式（仅作用于 .editor-styles-wrapper） ===== */
.editor-styles-wrapper {
	color: var(--text-primary);
	background-color: var(--white);
	line-height: 1.5;
	font-size: 16px;
}

.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 1rem;
	line-height: 1.2;
}

.editor-styles-wrapper h1 {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.editor-styles-wrapper h2 {
	font-weight: 400;
	margin-top: 2.5rem;
}
.editor-styles-wrapper h2:first-child {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.editor-styles-wrapper h2:after {
	content: '';
	display: block;
	position: relative;
	width: 100%;
	height: 2px;
	background-color: var(--gray-20);
	margin-top: .5rem;
}

.editor-styles-wrapper h3 {
	font-weight: 400;
	margin-top: 2.5rem;
}
.editor-styles-wrapper h3:first-child {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.editor-styles-wrapper h3:after {
	content: '';
	display: block;
	position: relative;
	width: 100%;
	height: 2px;
	background-color: var(--gray-20);
	margin-top: .5rem;
}

.editor-styles-wrapper h4 {
	font-weight: 400;
	margin-top: 2.5rem;
}
.editor-styles-wrapper h4:first-child {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.editor-styles-wrapper h4:after {
	content: '';
	display: block;
	position: relative;
	width: 100%;
	height: 2px;
	background-color: var(--gray-20);
	margin-top: .5rem;
}

.editor-styles-wrapper h5 {
	font-weight: 400;
	margin-top: 2.5rem;
}
.editor-styles-wrapper h5:first-child {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.editor-styles-wrapper h5:after {
	content: '';
	display: block;
	position: relative;
	width: 100%;
	height: 2px;
	background-color: var(--gray-20);
	margin-top: .5rem;
}

.editor-styles-wrapper h6 {
	font-weight: 400;
	margin-top: 2.5rem;
}
.editor-styles-wrapper h6:first-child {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.editor-styles-wrapper h6:after {
	content: '';
	display: block;
	position: relative;
	width: 100%;
	height: 2px;
	background-color: var(--gray-20);
	margin-top: .5rem;
}

.editor-styles-wrapper a {
	color: var(--primary);
	text-decoration: none;
	transition: color 0.2s ease;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.1em;
}

.editor-styles-wrapper a:hover,
.editor-styles-wrapper a:focus {
	color: var(--primary-dark);
	text-decoration: underline;
}

.editor-styles-wrapper a:active {
	color: var(--primary-dark);
}

.editor-styles-wrapper .button,
.editor-styles-wrapper .wp-block-button__link {
	background-color: var(--primary);
	color: var(--white);
	border: 2px solid var(--primary);
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 0;
	transition: all 0.2s ease;
}

.editor-styles-wrapper .button:hover,
.editor-styles-wrapper .wp-block-button__link:hover {
	background-color: var(--primary-dark);
	border-color: var(--primary-dark);
	color: var(--white);
}

.editor-styles-wrapper .button.secondary {
	background-color: transparent;
	color: var(--primary);
	border-color: var(--primary);
}

.editor-styles-wrapper .button.secondary:hover {
	background-color: var(--primary);
	color: var(--white);
}

.editor-styles-wrapper .top-bar,
.editor-styles-wrapper .wp-block-navigation {
	background-color: var(--white);
	border-bottom: 1px solid var(--gray-20);
	padding: 1rem 0;
}

.editor-styles-wrapper .top-bar ul,
.editor-styles-wrapper .wp-block-navigation ul {
	background-color: transparent;
}

.editor-styles-wrapper .top-bar a,
.editor-styles-wrapper .wp-block-navigation a {
	color: var(--text-primary);
	font-weight: 400;
	padding: 0.5rem 1rem;
	transition: color 0.2s ease;
}

.editor-styles-wrapper .top-bar a:hover,
.editor-styles-wrapper .wp-block-navigation a:hover {
	color: var(--primary);
	background-color: transparent;
}

.editor-styles-wrapper .top-bar .menu > li > a,
.editor-styles-wrapper .wp-block-navigation-item__content {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.editor-styles-wrapper .main-content {
	padding: 3rem 0;
	min-height: 60vh;
}

.editor-styles-wrapper article,
.editor-styles-wrapper .wp-block-post {
	background-color: var(--white);
	border: 1px solid var(--gray-20);
	padding: 2rem;
	margin-bottom: 2rem;
	transition: box-shadow 0.2s ease;
}

.editor-styles-wrapper article:hover,
.editor-styles-wrapper .wp-block-post:hover {
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.editor-styles-wrapper .footer,
.editor-styles-wrapper .site-footer {
	background-color: var(--footer-bg);
	color: var(--text-primary);
	padding: 3rem 0 1.5rem;
	margin-top: 4rem;
}

.editor-styles-wrapper .footer a,
.editor-styles-wrapper .site-footer a {
	color: var(--text-secondary);
}

.editor-styles-wrapper .footer a:hover,
.editor-styles-wrapper .site-footer a:hover {
	color: var(--primary);
}

.editor-styles-wrapper .footer h4,
.editor-styles-wrapper .site-footer h4 {
	color: var(--text-primary);
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.editor-styles-wrapper .grid-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1rem;
}

@media screen and (min-width: 640px) {
	.editor-styles-wrapper .grid-container {
		padding: 0 2rem;
	}
}

.editor-styles-wrapper .card {
	background-color: var(--white);
	border: 1px solid var(--gray-20);
	padding: 2rem;
	margin-bottom: 2rem;
	transition: all 0.2s ease;
}

.editor-styles-wrapper .card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: var(--gray-30);
}

.editor-styles-wrapper .card-title {
	color: var(--text-primary);
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

.editor-styles-wrapper .card-content {
	color: var(--text-secondary);
	line-height: 1.6;
}

.editor-styles-wrapper input[type="text"],
.editor-styles-wrapper input[type="email"],
.editor-styles-wrapper input[type="password"],
.editor-styles-wrapper input[type="search"],
.editor-styles-wrapper textarea,
.editor-styles-wrapper select {
	border: 1px solid var(--gray-30);
	border-radius: 0;
	padding: 0.75rem;
	font-size: 0.875rem;
	transition: border-color 0.2s ease;
}

.editor-styles-wrapper input[type="text"]:focus,
.editor-styles-wrapper input[type="email"]:focus,
.editor-styles-wrapper input[type="password"]:focus,
.editor-styles-wrapper input[type="search"]:focus,
.editor-styles-wrapper textarea:focus,
.editor-styles-wrapper select:focus {
	border-color: var(--primary);
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

.editor-styles-wrapper hr {
	border: none;
	border-top: 1px solid var(--gray-20);
	margin: 2rem 0;
}

@media screen and (max-width: 639px) {
	.editor-styles-wrapper h1 {
		font-size: 2rem;
	}
	.editor-styles-wrapper h2 {
		font-size: 1.75rem;
	}
	.editor-styles-wrapper .main-content {
		padding: 2rem 0;
	}
	.editor-styles-wrapper article,
	.editor-styles-wrapper .card {
		padding: 1.5rem;
	}
}

.editor-styles-wrapper .wp-block-group {
	margin-bottom: 2rem;
}

.editor-styles-wrapper .wp-block-heading {
	color: var(--text-primary);
}

.editor-styles-wrapper .wp-block-paragraph {
	color: var(--text-primary);
	line-height: 1.6;
}

.editor-styles-wrapper .wp-block-quote {
	border-left: 4px solid var(--primary);
	padding-left: 1.5rem;
	color: var(--text-secondary);
	font-style: italic;
}

.editor-styles-wrapper .text-primary {
	color: var(--primary);
}

.editor-styles-wrapper .bg-primary {
	background-color: var(--primary);
	color: var(--white);
}

.editor-styles-wrapper .text-muted {
	color: var(--text-secondary);
}

.editor-styles-wrapper .border-top {
	border-top: 1px solid var(--gray-20);
	padding-top: 2rem;
}

.editor-styles-wrapper .spacing-large {
	margin: 4rem 0;
}

.editor-styles-wrapper .spacing-medium {
	margin: 2rem 0;
}

.editor-styles-wrapper .product-detail-content,
.editor-styles-wrapper .product-short-description,
.editor-styles-wrapper .product-excerpt,
.editor-styles-wrapper .faq-answer {
	line-height: 1.7;
	color: var(--text-primary);
}

.editor-styles-wrapper .product-detail-content p,
.editor-styles-wrapper .product-short-description p,
.editor-styles-wrapper .product-excerpt p,
.editor-styles-wrapper .faq-answer p {
	margin-bottom: 1rem;
}

.editor-styles-wrapper .product-detail-content p:last-child,
.editor-styles-wrapper .product-short-description p:last-child,
.editor-styles-wrapper .product-excerpt p:last-child,
.editor-styles-wrapper .faq-answer p:last-child {
	margin-bottom: 0;
}

.editor-styles-wrapper .product-detail-content h3,
.editor-styles-wrapper .product-detail-content h4,
.editor-styles-wrapper .product-detail-content h5,
.editor-styles-wrapper .product-short-description h3,
.editor-styles-wrapper .product-short-description h4,
.editor-styles-wrapper .product-short-description h5,
.editor-styles-wrapper .faq-answer h3,
.editor-styles-wrapper .faq-answer h4,
.editor-styles-wrapper .faq-answer h5 {
	margin-top: 1.5rem;
	margin-bottom: 0.75rem;
	font-size: 1.125rem;
	font-weight: 600;
}

.editor-styles-wrapper .product-detail-content h3:first-child,
.editor-styles-wrapper .product-detail-content h4:first-child,
.editor-styles-wrapper .product-short-description h3:first-child,
.editor-styles-wrapper .product-short-description h4:first-child,
.editor-styles-wrapper .faq-answer h3:first-child,
.editor-styles-wrapper .faq-answer h4:first-child {
	margin-top: 0;
}

.editor-styles-wrapper .product-detail-content ul,
.editor-styles-wrapper .product-detail-content ol,
.editor-styles-wrapper .product-short-description ul,
.editor-styles-wrapper .product-short-description ol,
.editor-styles-wrapper .faq-answer ul,
.editor-styles-wrapper .faq-answer ol {
	margin-bottom: 1rem;
	padding-left: 1.5rem;
}

.editor-styles-wrapper .product-detail-content ul {
	list-style-type: disc;
}

.editor-styles-wrapper .product-detail-content ol {
	list-style-type: decimal;
}

.editor-styles-wrapper .product-detail-content li,
.editor-styles-wrapper .product-short-description li,
.editor-styles-wrapper .faq-answer li {
	margin-bottom: 0.5rem;
}

.editor-styles-wrapper .product-detail-content blockquote,
.editor-styles-wrapper .product-short-description blockquote,
.editor-styles-wrapper .faq-answer blockquote {
	border-left: 4px solid var(--primary);
	padding-left: 1.25rem;
	margin: 1.5rem 0;
	color: var(--text-secondary);
	font-style: italic;
}

.editor-styles-wrapper .product-detail-content img,
.editor-styles-wrapper .product-short-description img,
.editor-styles-wrapper .faq-answer img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 1rem 0;
}

.editor-styles-wrapper .product-detail-content img.alignleft,
.editor-styles-wrapper .product-short-description img.alignleft,
.editor-styles-wrapper .faq-answer img.alignleft {
	float: left;
	margin-right: 1rem;
	margin-bottom: 0.5rem;
}

.editor-styles-wrapper .product-detail-content img.alignright,
.editor-styles-wrapper .product-short-description img.alignright,
.editor-styles-wrapper .faq-answer img.alignright {
	float: right;
	margin-left: 1rem;
	margin-bottom: 0.5rem;
}

.editor-styles-wrapper .product-detail-content img.aligncenter,
.editor-styles-wrapper .product-short-description img.aligncenter,
.editor-styles-wrapper .faq-answer img.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.editor-styles-wrapper .product-detail-content table,
.editor-styles-wrapper .product-short-description table,
.editor-styles-wrapper .faq-answer table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
}

.editor-styles-wrapper .product-detail-content th,
.editor-styles-wrapper .product-detail-content td,
.editor-styles-wrapper .product-short-description th,
.editor-styles-wrapper .product-short-description td,
.editor-styles-wrapper .faq-answer th,
.editor-styles-wrapper .faq-answer td {
	border: 1px solid var(--gray-20);
	padding: 0.75rem 1rem;
	text-align: left;
}

.editor-styles-wrapper .product-detail-content th,
.editor-styles-wrapper .product-short-description th,
.editor-styles-wrapper .faq-answer th {
	background-color: var(--gray-10);
	font-weight: 600;
}

.editor-styles-wrapper .product-detail-content strong,
.editor-styles-wrapper .product-short-description strong,
.editor-styles-wrapper .faq-answer strong {
	font-weight: 600;
}

.editor-styles-wrapper .product-detail-content em,
.editor-styles-wrapper .product-short-description em,
.editor-styles-wrapper .faq-answer em {
	font-style: italic;
}

.editor-styles-wrapper .product-detail-content::after,
.editor-styles-wrapper .product-short-description::after,
.editor-styles-wrapper .faq-answer::after {
	content: "";
	display: table;
	clear: both;
}

/* ===== Treatment 详情页（Foundation：banner + 正文 + FAQ 折叠 + CTA） ===== */
.treatment-page {
	background: var(--white);
	margin-bottom: 3rem;
}

/* 正文区：阅读宽度 + 清晰层级 */
.treatment-content-wrap {
	padding-bottom: 0;
}

.treatment-content {
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
	padding: 3rem 1.25rem 2.5rem;
}

@media screen and (min-width: 40em) {
	.treatment-content {
		padding: 4rem 1.5rem 3.5rem;
	}
}

.treatment-content-inner {
	font-size: 1.0625rem;
	line-height: 1.78;
	color: var(--text-primary);
}

.treatment-content-inner h2 {
	margin-top: 2.5rem;
	margin-bottom: 0.875rem;
	padding-left: 1rem;
	border-left: 4px solid var(--primary);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
}

.treatment-content-inner h2:first-child {
	margin-top: 0;
}

.treatment-content-inner h3 {
	margin-top: 2rem;
	margin-bottom: 0.5rem;
	font-size: 1.25rem;
	font-weight: 600;
}

.treatment-content-inner p {
	margin-bottom: 1.25rem;
}

.treatment-content-inner p:last-child {
	margin-bottom: 0;
}

.treatment-content-inner ul,
.treatment-content-inner ol {
	margin: 0 0 1.25rem 1.5rem;
}

.treatment-content-inner li {
	margin-bottom: 0.5rem;
}

/* FAQ：Foundation Accordion 折叠 */
.treatment-faqs {
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
	padding: 2.5rem 1.25rem 0;
	border-top: 1px solid var(--gray-20);
}

.treatment-faqs-heading {
	margin: 0 0 1.5rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.treatment-faq-accordion.accordion .accordion-title {
	font-size: 1rem;
	color: var(--text-primary);
}

.treatment-faq-accordion.accordion .accordion-content {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--text-secondary);
}

.treatment-faq-accordion.accordion .accordion-content p:last-child {
	margin-bottom: 0;
}

/* 底部 CTA：Foundation 风格，居中 */
.treatment-cta-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	padding: 2.5rem 1rem;
	text-align: center;
	border-top: 1px solid var(--gray-20);
	background: var(--white);
}

.treatment-cta-strip-text {
	margin: 0;
	font-size: 1rem;
	color: var(--text-secondary);
}

.treatment-cta-strip .button {
	margin: 0;
}

/* ===== 搜索表单（全站 + 搜索结果页侧栏） ===== */
.search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
}

.search-form .show-for-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.search-form .search-field {
	margin: 0;
	min-width: 10rem;
	padding: 0.4rem 0.6rem;
	font-size: 0.875rem;
	border: 1px solid var(--gray-20);
	border-radius: 0;
}

.search-form .button {
	margin: 0;
	flex-shrink: 0;
}

/* 顶部导航栏内搜索：紧凑单行 */
.top-bar .menu .search-form {
	display: inline-flex;
	gap: 0.25rem;
}

.top-bar .search-form .search-field {
	min-width: 8rem;
	padding: 0.35rem 0.5rem;
	font-size: 0.8125rem;
}

.top-bar .search-form .button {
	padding: 0.35rem 0.75rem;
	font-size: 0.8125rem;
}

/* ===== 搜索结果页（与 Treatment/产品归档风格统一） ===== */
.search-archive {
	margin-bottom: 3rem;
	padding: 0 1rem;
}

.search-sidebar .taxonomy-sidebar-block:first-child .search-form {
	width: 100%;
}

.search-sidebar .search-form .search-field {
	flex: 1;
	min-width: 0;
}

.search-results-section {
	margin-bottom: 2rem;
}

.search-grid {
	margin-bottom: 2rem;
}

.search-card-wrapper {
	margin-bottom: 1.5rem;
}

.search-card {
	display: block;
	height: 100%;
	background: var(--white);
	border: 1px solid var(--gray-20);
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.search-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--gray-30);
}

.search-card-image {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
	background: var(--gray-10);
}

.search-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.search-card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	color: var(--gray-50);
}

.search-card-type {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	padding: 0.2rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	background: var(--primary);
	color: var(--white);
	border-radius: 2px;
}

.search-card-body {
	padding: 1.25rem;
}

.search-card-title {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
	line-height: 1.35;
	color: var(--text-primary);
}

.search-card-desc {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--text-secondary);
	margin: 0 0 0.75rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.search-card-link {
	font-size: 0.875rem;
	color: var(--primary);
	font-weight: 500;
}

.search-card:hover .search-card-link {
	text-decoration: underline;
}

.search-pagination {
	margin-top: 2rem;
}

.search-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.search-pagination .page-numbers li {
	margin: 0;
}

.search-pagination .page-numbers a,
.search-pagination .page-numbers span {
	display: inline-block;
	padding: 0.5rem 0.875rem;
	font-size: 0.875rem;
	color: var(--gray-70);
	background: var(--gray-10);
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
	text-decoration: none;
}

.search-pagination .page-numbers a:hover {
	background: var(--gray-20);
	color: var(--text-primary);
}

.search-pagination .page-numbers .current {
	background: var(--primary);
	color: var(--white);
}

@media screen and (min-width: 40em) {
	.search-card-image {
		height: 220px;
	}
}

@media screen and (min-width: 64em) {
	.search-card-image {
		height: 240px;
	}
}

