/* ==========================================================================
   jwmsuo Astra Child —— 品牌组件样式（布局 / 组件 / 响应式）
   作者：Kou Dev Team
   版本：3.0.0 —— 回退为模板驱动（修复 Gutenberg 类名不匹配导致的样式全失效）
   说明：全站 #ff6700 橙系品牌风格，覆盖在 Astra 之上。断点 768px / 1024px。
   设计令牌在 style.css 的 :root 中定义（--jwmsuo-* 与 Astra --ast-global-color-*）。
   
   类名约定：所有组件使用 jwmsuo- 前缀的 BEM 命名（如 .jwmsuo-hero__cards），
   与 template-parts/home/*.php 和 functions.php 短代码输出的 HTML 完全对应。
   ========================================================================== */

/* ==========================================================================
   ⚠️ Astra 兼容性修复 —— 必须放在最前面（最高优先级）
   
   问题：Astra 的 .ast-container / .site-content 在某些配置下会施加
   display:flex / grid 等布局规则，导致我们的 <section> 区块
   从「垂直堆叠」变成「水平排列」，页面内容横排错乱。
   
   解决：强制容器为 block、所有 section 为全宽块级元素。
   ========================================================================== */

/* Astra 内容容器 → 必须是普通块级盒子 */
.site-content .ast-container {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* 首页编辑器驱动容器 —— 全宽、无 Astra 约束 */
.jwmsuo-front-page {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}

.jwmsuo-front-page__inner {
	width: 100%;
	max-width: none;
}

/* 所有首页区块 → 全宽、块级、垂直堆叠 */
.site-content .ast-container > section,
.site-content .ast-container > div > section,
.jwmsuo-hero,
.section,
[class*="jwmsuo-"][id] {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	position: relative !important;
	overflow: visible !important;
	/* 防止 Astra 的 grid-column / flex-basis 干扰 */
	grid-column: auto !important;
	flex-basis: auto !important;
	flex-shrink: 0 !important;
}

/* 我们的 .container 类（section 内部的宽度约束）不受影响 */
.jwmsuo-hero > .container,
.section > .container,
[id^="home-"] > .container {
	max-width: var(--jwmsuo-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--jwmsuo-gutter);
	padding-right: var(--jwmsuo-gutter);
}

/* Astra entry-content 包装器（单页/文章）也不干扰 */
.entry-content .jwmsuo-hero,
.entry-content .section,
.ast-entry-content .jwmsuo-hero,
.ast-entry-content .section {
	width: 100% !important;
	display: block !important;
}

/* ---------- 基础排版补充 ---------- */
:focus-visible {
	outline: 2px solid var(--jwmsuo-primary);
	outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--jwmsuo-text);
	line-height: 1.3;
	margin: 0 0 0.6em;
	font-weight: 700;
}

p { margin: 0 0 1em; }

.container {
	width: 100%;
	max-width: var(--jwmsuo-container);
	margin: 0 auto;
	padding: 0 var(--jwmsuo-gutter);
}

.section { padding: 64px 0; }
.section--tight { padding: 40px 0; }
.section--alt { background: var(--jwmsuo-white); }
.section--bg { background: var(--jwmsuo-bg); }

.section__title {
	font-size: 28px;
	text-align: center;
	margin-bottom: 8px;
}
.section__subtitle {
	text-align: center;
	color: var(--jwmsuo-text-muted);
	margin-bottom: 36px;
}

/* ---------- 按钮 ---------- */
.jwmsuo-btn {
	display: inline-block;
	padding: 12px 28px;
	border-radius: var(--jwmsuo-radius);
	background: var(--jwmsuo-primary);
	color: var(--jwmsuo-white);
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.jwmsuo-btn:hover {
	background: var(--jwmsuo-primary-dark);
	color: var(--jwmsuo-white);
	transform: translateY(-1px);
}
.jwmsuo-btn--outline {
	background: transparent;
	color: var(--jwmsuo-primary);
	border: 1px solid var(--jwmsuo-primary);
}
.jwmsuo-btn--outline:hover {
	background: var(--jwmsuo-primary);
	color: var(--jwmsuo-white);
}
.jwmsuo-btn--light {
	background: var(--jwmsuo-white);
	color: var(--jwmsuo-primary);
}
.jwmsuo-btn--light:hover {
	background: var(--jwmsuo-bg);
	color: var(--jwmsuo-primary-dark);
}

/* ---------- Hero ---------- */
.jwmsuo-hero {
	background: linear-gradient(135deg, var(--jwmsuo-primary-dark) 0%, var(--jwmsuo-primary) 100%);
	color: var(--jwmsuo-white);
	padding: 80px 0;
}
.jwmsuo-hero__title {
	color: var(--jwmsuo-white);
	font-size: 38px;
	margin-bottom: 16px;
}
.jwmsuo-hero__subtitle {
	color: rgba(255, 255, 255, 0.88);
	font-size: 17px;
	max-width: 720px;
	margin-bottom: 28px;
}
.jwmsuo-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 48px; }

.jwmsuo-hero__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.jwmsuo-hero-card {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--jwmsuo-radius-lg);
	padding: 28px 24px;
	transition: background 0.2s ease, transform 0.2s ease;
}
.jwmsuo-hero-card:hover { background: rgba(255, 255, 255, 0.16); transform: translateY(-3px); }
.jwmsuo-hero-card__icon {
	width: 48px; height: 48px; border-radius: 12px;
	background: rgba(255, 255, 255, 0.15);
	display: flex; align-items: center; justify-content: center;
	font-size: 24px; margin-bottom: 14px;
}
.jwmsuo-hero-card__title { color: var(--jwmsuo-white); font-size: 20px; margin-bottom: 8px; }
.jwmsuo-hero-card__desc { color: rgba(255, 255, 255, 0.8); font-size: 14px; margin-bottom: 16px; }
.jwmsuo-hero-card__link { color: var(--jwmsuo-white); font-weight: 600; }

/* ---------- 数据指标条 ---------- */
.jwmsuo-stats {
	background: var(--jwmsuo-primary);
	color: var(--jwmsuo-white);
}
.jwmsuo-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	text-align: center;
}
.jwmsuo-stat__num {
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 8px;
}
.jwmsuo-stat__label { color: rgba(255, 255, 255, 0.85); font-size: 15px; }

/* ---------- 产品总述 + 咨询 ---------- */
.jwmsuo-intro__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 40px;
	align-items: center;
}
.jwmsuo-intro__text { font-size: 16px; color: var(--jwmsuo-text-muted); }
.jwmsuo-intro__cta {
	background: var(--jwmsuo-white);
	border: 1px solid var(--jwmsuo-border);
	border-radius: var(--jwmsuo-radius-lg);
	padding: 32px;
	text-align: center;
	box-shadow: var(--jwmsuo-shadow);
}
.jwmsuo-intro__cta h3 { margin-bottom: 12px; }
.jwmsuo-phone-big { font-size: 26px; font-weight: 800; color: var(--jwmsuo-primary); }

/* ---------- 产品网格 ---------- */
.jwmsuo-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.jwmsuo-card {
	background: var(--jwmsuo-white);
	border: 1px solid var(--jwmsuo-border);
	border-radius: var(--jwmsuo-radius-lg);
	overflow: hidden;
	box-shadow: var(--jwmsuo-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	display: flex;
	flex-direction: column;
}
.jwmsuo-card:hover { transform: translateY(-4px); box-shadow: var(--jwmsuo-shadow-hover); }
.jwmsuo-card__thumb {
	aspect-ratio: 4 / 3;
	background: var(--jwmsuo-bg);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jwmsuo-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
/* 无特色图时的占位说明（不引用外链）。 */
.jwmsuo-card__ph {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--jwmsuo-primary-tint);
	color: var(--jwmsuo-primary);
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	padding: 12px;
}
.jwmsuo-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.jwmsuo-card__title { font-size: 18px; margin-bottom: 10px; }
.jwmsuo-card__title a { color: var(--jwmsuo-text); }
.jwmsuo-card__title a:hover { color: var(--jwmsuo-primary); }
.jwmsuo-card__specs {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	font-size: 14px;
	color: var(--jwmsuo-text-muted);
}
.jwmsuo-card__specs li {
	display: flex;
	justify-content: space-between;
	padding: 5px 0;
	border-bottom: 1px dashed var(--jwmsuo-border);
}
.jwmsuo-card__specs li span:first-child { color: var(--jwmsuo-text-muted); }
.jwmsuo-card__specs li span:last-child { color: var(--jwmsuo-text); font-weight: 600; }
.jwmsuo-card__more { margin-top: auto; }

/* 案例卡片 */
.jwmsuo-case-card__logo {
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--jwmsuo-bg);
	padding: 16px;
}
.jwmsuo-case-card__logo img { max-height: 80px; width: auto; object-fit: contain; }
.jwmsuo-case-card__client { font-weight: 600; color: var(--jwmsuo-text); }
.jwmsuo-case-card__quote { font-size: 14px; color: var(--jwmsuo-text-muted); font-style: italic; }

/* 新闻列表 */
.jwmsuo-news__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.jwmsuo-news-card { background: var(--jwmsuo-white); border: 1px solid var(--jwmsuo-border); border-radius: var(--jwmsuo-radius-lg); overflow: hidden; }
.jwmsuo-news-card__thumb { aspect-ratio: 16 / 9; background: var(--jwmsuo-bg); }
.jwmsuo-news-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.jwmsuo-news-card__body { padding: 18px; }
.jwmsuo-news-card__date { font-size: 13px; color: var(--jwmsuo-text-muted); }
.jwmsuo-news-card__title { font-size: 17px; margin: 6px 0 0; }
.jwmsuo-news-card__title a { color: var(--jwmsuo-text); }
.jwmsuo-news-card__title a:hover { color: var(--jwmsuo-primary); }

/* ---------- 软件 / APP ---------- */
.jwmsuo-feature__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.jwmsuo-feature {
	background: var(--jwmsuo-white);
	border: 1px solid var(--jwmsuo-border);
	border-radius: var(--jwmsuo-radius-lg);
	padding: 28px 24px;
	text-align: center;
	box-shadow: var(--jwmsuo-shadow);
}
.jwmsuo-feature__icon { font-size: 32px; margin-bottom: 12px; }
.jwmsuo-feature__title { font-size: 18px; margin-bottom: 8px; }
.jwmsuo-feature__desc { color: var(--jwmsuo-text-muted); font-size: 14px; }

.jwmsuo-app__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}
.jwmsuo-app__stores { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 20px; }
.jwmsuo-app__store {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border: 1px solid var(--jwmsuo-border);
	border-radius: var(--jwmsuo-radius);
	color: var(--jwmsuo-text);
	font-weight: 600;
	background: var(--jwmsuo-white);
}
.jwmsuo-app__store:hover { border-color: var(--jwmsuo-primary); color: var(--jwmsuo-primary); }
.jwmsuo-app__ph {
	width: 100%;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--jwmsuo-primary-tint);
	color: var(--jwmsuo-primary);
	font-weight: 600;
	border-radius: var(--jwmsuo-radius-lg);
}

/* ---------- CTA ---------- */
.jwmsuo-cta {
	background: linear-gradient(135deg, var(--jwmsuo-primary) 0%, var(--jwmsuo-primary-dark) 100%);
	color: var(--jwmsuo-white);
	text-align: center;
	border-radius: var(--jwmsuo-radius-lg);
	padding: 48px 24px;
}
.jwmsuo-cta__title { color: var(--jwmsuo-white); font-size: 26px; margin-bottom: 16px; }
.jwmsuo-cta .jwmsuo-btn--light { margin-top: 8px; }

/* ---------- 页脚品牌条（注入于 astra_footer） ---------- */
.jwmsuo-footer-brand {
	background: var(--jwmsuo-primary-dark);
	color: rgba(255, 255, 255, 0.82);
	padding: 48px 0 0;
}
.jwmsuo-footer-brand__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}
.jwmsuo-footer-brand__col h4 {
	color: var(--jwmsuo-white);
	font-size: 16px;
	margin-bottom: 14px;
}
.jwmsuo-footer-brand__col a { color: rgba(255, 255, 255, 0.82); }
.jwmsuo-footer-brand__col a:hover { color: var(--jwmsuo-white); }
.jwmsuo-footer-brand__col ul { list-style: none; margin: 0; padding: 0; }
.jwmsuo-footer-brand__col li { padding: 4px 0; }
.jwmsuo-footer-brand__social { display: flex; gap: 10px; margin-top: 12px; }
.jwmsuo-footer-brand__social a {
	width: 36px; height: 36px; border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	display: flex; align-items: center; justify-content: center;
	color: var(--jwmsuo-white); font-size: 13px;
}
.jwmsuo-footer-brand__social a:hover { background: var(--jwmsuo-primary); }
.jwmsuo-footer-brand__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	margin-top: 36px;
	padding: 18px 0;
	text-align: center;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
}

/* ---------- 回到顶部（由 main.js 动态创建） ---------- */
.jwmsuo-back-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--jwmsuo-primary);
	color: var(--jwmsuo-white);
	border: none;
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	box-shadow: var(--jwmsuo-shadow-hover);
	z-index: 998;
}
.jwmsuo-back-top.is-visible { display: flex; }

/* ---------- 文章 / 归档通用 ---------- */
.jwmsuo-page-header {
	background: linear-gradient(135deg, var(--jwmsuo-primary-dark) 0%, var(--jwmsuo-primary) 100%);
	color: var(--jwmsuo-white);
	padding: 48px 0;
	text-align: center;
}
.jwmsuo-page-header h1 { color: var(--jwmsuo-white); margin: 0; }
.jwmsuo-breadcrumb { font-size: 14px; color: rgba(255, 255, 255, 0.8); margin-bottom: 8px; }

.jwmsuo-article {
	background: var(--jwmsuo-white);
	border: 1px solid var(--jwmsuo-border);
	border-radius: var(--jwmsuo-radius-lg);
	padding: 32px;
	margin-bottom: 24px;
	box-shadow: var(--jwmsuo-shadow);
}
.jwmsuo-article__meta { font-size: 13px; color: var(--jwmsuo-text-muted); margin-bottom: 12px; }
.jwmsuo-entry-content { font-size: 16px; }
.jwmsuo-entry-content img { border-radius: var(--jwmsuo-radius); margin: 16px 0; }

.jwmsuo-single-hero {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 40px;
	align-items: start;
}
.jwmsuo-spec-table {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0;
}
.jwmsuo-spec-table th, .jwmsuo-spec-table td {
	border: 1px solid var(--jwmsuo-border);
	padding: 10px 14px;
	text-align: left;
	font-size: 14px;
}
.jwmsuo-spec-table th { background: var(--jwmsuo-bg); width: 30%; color: var(--jwmsuo-text-muted); }
.jwmsuo-tag-list { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.jwmsuo-tag {
	display: inline-block;
	padding: 4px 12px;
	background: var(--jwmsuo-primary-tint);
	color: var(--jwmsuo-primary);
	border-radius: 999px;
	font-size: 13px;
}

/* ---------- 分页 ---------- */
.jwmsuo-pagination {
	text-align: center;
	margin: 36px 0;
}
.jwmsuo-pagination .page-numbers {
	display: inline-block;
	padding: 8px 14px;
	margin: 0 3px;
	border: 1px solid var(--jwmsuo-border);
	border-radius: var(--jwmsuo-radius);
	color: var(--jwmsuo-primary);
	background: var(--jwmsuo-white);
}
.jwmsuo-pagination .page-numbers.current,
.jwmsuo-pagination .page-numbers:hover {
	background: var(--jwmsuo-primary);
	color: var(--jwmsuo-white);
	border-color: var(--jwmsuo-primary);
}

/* ---------- 表单（咨询/联系） ---------- */
.jwmsuo-form { max-width: 560px; }
.jwmsuo-form label { display: block; font-weight: 600; margin: 14px 0 6px; }
.jwmsuo-form input, .jwmsuo-form textarea, .jwmsuo-form select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--jwmsuo-border);
	border-radius: var(--jwmsuo-radius);
	font-size: 15px;
	font-family: inherit;
}
.jwmsuo-form input:focus, .jwmsuo-form textarea:focus { outline: none; border-color: var(--jwmsuo-primary); }
.jwmsuo-form-success {
	max-width: 560px;
	margin: 0 0 20px;
	padding: 14px 18px;
	background: var(--jwmsuo-primary-tint);
	border: 1px solid var(--jwmsuo-primary);
	color: var(--jwmsuo-primary-dark);
	border-radius: var(--jwmsuo-radius);
	font-weight: 600;
}

/* ---------- 联系页布局 ---------- */
.jwmsuo-contact__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}
.jwmsuo-contact__info p { margin: 8px 0; }

/* ---------- 响应式：平板（≤1024） ---------- */
@media (max-width: 1024px) {
	.jwmsuo-grid, .jwmsuo-news__grid, .jwmsuo-feature__grid { grid-template-columns: repeat(2, 1fr); }
	.jwmsuo-hero__cards { grid-template-columns: repeat(3, 1fr); }
	.jwmsuo-footer-brand__grid { grid-template-columns: repeat(2, 1fr); }
	.jwmsuo-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
	.jwmsuo-app__grid, .jwmsuo-intro__grid, .jwmsuo-single-hero, .jwmsuo-contact__grid { grid-template-columns: 1fr; }
}

/* ---------- 响应式：手机（≤768） ---------- */
@media (max-width: 768px) {
	.jwmsuo-hero { padding: 56px 0; }
	.jwmsuo-hero__title { font-size: 28px; }
	.jwmsuo-hero__cards { grid-template-columns: 1fr; }
	.jwmsuo-grid, .jwmsuo-news__grid, .jwmsuo-feature__grid { grid-template-columns: 1fr; }
	.jwmsuo-stats__grid { grid-template-columns: 1fr; gap: 22px; }
	.jwmsuo-footer-brand__grid { grid-template-columns: 1fr; }
	.section { padding: 44px 0; }
	.section__title { font-size: 23px; }
	.jwmsuo-cta { padding: 36px 18px; }
	.jwmsuo-regions__grid { grid-template-columns: 1fr; }
}

/* ---------- 区域网点（国内 / 国际） ---------- */
.jwmsuo-regions { margin-top: 48px; }
.jwmsuo-regions__title {
	font-size: 24px;
	margin-bottom: 20px;
	padding-left: 14px;
	border-left: 4px solid var(--jwmsuo-primary);
}
.jwmsuo-regions__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
}
.jwmsuo-region-card {
	background: var(--jwmsuo-white);
	border: 1px solid var(--jwmsuo-border);
	border-radius: var(--jwmsuo-radius-lg);
	padding: 22px;
	box-shadow: var(--jwmsuo-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	display: flex;
	flex-direction: column;
}
.jwmsuo-region-card:hover { transform: translateY(-4px); box-shadow: var(--jwmsuo-shadow-hover); }
.jwmsuo-region-card__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.jwmsuo-region-card__badge {
	display: inline-block;
	background: var(--jwmsuo-primary);
	color: var(--jwmsuo-white);
	font-size: 12px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 999px;
}
.jwmsuo-region-card__name {
	font-size: 17px;
	font-weight: 700;
	color: var(--jwmsuo-primary-dark);
	margin: 0 0 12px;
}
.jwmsuo-region-card__list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 14px;
	color: var(--jwmsuo-text-muted);
}
.jwmsuo-region-card__list li {
	display: flex;
	gap: 8px;
	padding: 5px 0;
	border-bottom: 1px dashed var(--jwmsuo-border);
}
.jwmsuo-region-card__list li:last-child { border-bottom: none; }
.jwmsuo-region-card__key { color: var(--jwmsuo-text-muted); flex-shrink: 0; min-width: 56px; }
.jwmsuo-region-card__val { color: var(--jwmsuo-text); font-weight: 600; word-break: break-word; }

/* ==========================================================================
   ⚡ Gutenberg 编辑器兼容层（首页内容通过编辑器管理时的样式修复）
   
   问题：当首页内容从硬编码模板迁移到 Gutenberg 区块编辑器后，
   所有区块都被包裹在 .entry-content 中，并带有 wp-block-* 类名。
   Astra 和 Gutenberg 的默认样式会覆盖我们的品牌组件样式。
   
   解决：确保 .entry-content 内的 jwmsuo-* 组件正常渲染，
   并修复 Gutenberg 块级元素的间距/宽度/对齐。
   ========================================================================== */

/* --- entry-content 容器：全宽、无约束 --- */
.entry-content {
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* --- entry-content 内的 Group 块（我们的每个 section 都是一个 Group）--- */
.entry-content > .wp-block-group,
.jwmsuo-front-page__inner > .wp-block-group {
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

/* --- Columns 布局修复：确保我们的 grid/flex 不被覆盖 --- */
.entry-content .jwmsuo-intro__grid,
.entry-content .jwmsuo-app__grid,
.entry-content .wp-block-columns.jwmsuo-intro__grid,
.entry-content .wp-block-columns.jwmsuo-app__grid {
	display: grid !important;
	grid-template-columns: inherit !important; /* 继承原始定义 */
	gap: inherit !important;
}

/* --- Hero 区域在编辑器中的全宽修复 --- */
.wp-block-group.jwmsuo-hero {
	margin-left: calc(-1 * var(--jwmsuo-gutter, 20px)) !important;
	margin-right: calc(-1 * var(--jwmsuo-gutter, 20px)) !important;
	width: calc(100% + 2 * var(--jwmsuo-gutter, 40px)) !important;
	max-width: none !important;
}

/* --- Section 区块间距修复 --- */
.wp-block-group.section {
	padding: 64px 0 !important; /* 覆盖 Gutenberg 默认 padding */
	margin: 0 !important;
}

/* --- 按钮区块样式继承 --- */
.entry-content .wp-block-button .wp-block-button__link {
	background: var(--jwmsuo-primary) !important;
	color: var(--jwmsuo-white) !important;
	border-radius: var(--jwmsuo-radius) !important;
	padding: 12px 28px !important;
	font-weight: 600 !important;
	border: none !important;
}
.entry-content .wp-block-button .wp-block-button__link:hover {
	background: var(--jwmsuo-primary-dark) !important;
}

/* --- 标题区块颜色修正 --- */
.entry-content .wp-block-heading {
	color: var(--jwmsuo-text) !important;
}

/* --- 段落文字颜色 --- */
.entry-content p {
	color: var(--jwmsuo-text-muted);
	line-height: 1.7;
}

/* --- 空白区块（用于间距）--- */
.entry-content .wp-block-spacer {
	height: 0 !important; /* 我们用 section padding 控制间距，不需要额外 spacer */
}

/* --- CTA 区域全宽 + 圆角恢复 --- */
.wp-block-group.jwmsuo-cta {
	border-radius: var(--jwmsuo-radius-lg);
}

/* --- 产品网格内的卡片：确保 flex 列方向正确 --- */
.jwmsuo-grid .jwmsuo-card {
	flex-direction: column;
}
