/* ==========================================================================
   Meisen 主题补充样式
   仅补充 WordPress 内容区排版与后台/前台的必要修正，不改动 main.css 设计体系。
   ========================================================================== */

/* 正文 + 侧栏两列布局 */
.mz-main-aside {
	display: grid;
	gap: 3rem;
}
@media (min-width: 1024px) {
	.mz-main-aside {
		grid-template-columns: minmax(0, 1.6fr) 320px;
		gap: 3.5rem;
	}
}

/* ---------------------------------------------------------------- 正文排版 */
.entry-body {
	font-size: 14.5px;
	line-height: 1.9;
	color: var(--c-body);
}
.entry-body > p,
.entry-body > ul,
.entry-body > ol,
.entry-body > table,
.entry-body > blockquote,
.entry-body > h2,
.entry-body > h3,
.entry-body > h4 {
	max-width: 860px;
}
.entry-body h2 {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 26px;
	line-height: 1.25;
	color: var(--c-ink);
	margin: 34px 0 14px;
	font-weight: 600;
}
.entry-body h3 {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px;
	line-height: 1.3;
	color: var(--c-ink);
	margin: 26px 0 12px;
	font-weight: 600;
}
.entry-body h4 {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--c-ink);
	margin: 22px 0 10px;
}
.entry-body p {
	margin: 0 0 16px;
}
.entry-body a:not([class*="btn"]):not(.link-arrow):not(.mini-chip) {
	color: var(--c-brand);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(140, 74, 93, 0.35);
	transition: color 0.25s var(--ease);
}
.entry-body a:not([class*="btn"]):not(.link-arrow):not(.mini-chip):hover {
	color: var(--c-accent);
}
.entry-body ul {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
}
.entry-body ul li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 8px;
}
.entry-body ul li:not(:has(i))::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 11px;
	width: 5px;
	height: 5px;
	background: var(--c-accent);
	border-radius: 50%;
}
.entry-body ol {
	list-style: none;
	counter-reset: mz-ol;
	margin: 0 0 18px;
	padding: 0;
}
.entry-body ol li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
	counter-increment: mz-ol;
}
.entry-body ol li::before {
	content: counter(mz-ol, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 2px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 13px;
	color: var(--c-accent);
}
.entry-body blockquote {
	margin: 24px 0;
	border-left: 2px solid var(--c-accent);
	background: var(--c-mist);
	padding: 18px 22px;
	color: var(--c-ink);
	font-size: 14.5px;
}
.entry-body blockquote p:last-child {
	margin-bottom: 0;
}
.entry-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	font-size: 13px;
	border: 1px solid var(--c-line);
}
.entry-body th,
.entry-body td {
	padding: 10px 14px;
	border-bottom: 1px solid var(--c-line);
	text-align: left;
	vertical-align: top;
}
.entry-body th {
	background: var(--c-mist);
	color: var(--c-ink);
	font-weight: 600;
}
.entry-body img {
	max-width: 100%;
	height: auto;
}
.entry-body figure {
	margin: 22px 0;
}
.entry-body figcaption {
	margin-top: 8px;
	font-size: 11.5px;
	color: #8c7f86;
}
.entry-body hr {
	border: 0;
	border-top: 1px solid var(--c-line);
	margin: 28px 0;
}
.entry-body strong,
.entry-body b {
	color: var(--c-ink);
	font-weight: 600;
}

/* WordPress 对齐类 */
.alignleft {
	float: left;
	margin: 6px 24px 18px 0;
}
.alignright {
	float: right;
	margin: 6px 0 18px 24px;
}
.aligncenter {
	display: block;
	margin: 20px auto;
}
.alignwide {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}
.alignfull {
	max-width: none;
	width: 100%;
}
.wp-caption {
	max-width: 100%;
}
.wp-caption-text {
	font-size: 11.5px;
	color: #8c7f86;
	margin-top: 6px;
}

/* 分页与导航修正 */
.page-numbers {
	display: inline-flex;
}
.wp-block-quote cite {
	font-size: 11.5px;
	font-style: normal;
	color: #8c7f86;
}

/* 顶部信息栏链接回退（未启用社交账号时不显示悬空链接） */
.topbar a[href=""] {
	display: none;
}

/* 询盘侧栏表单在窄容器中的密度调整 */
.lg\:sticky .field label {
	font-size: 10px;
}

/* ---------------------------------------------------- 询盘表单：提交反馈 */
form.is-done > :not(.mz-form-done) {
	display: none !important;
}

.mz-form-done {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	border: 1px solid var(--c-line);
	background: var(--c-mist);
	padding: 20px 22px;
}

.mz-form-done-ic {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--c-brand);
	color: #fff;
	font-size: 13px;
}

.mz-form-done-t {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 600;
	color: var(--c-ink);
}

.mz-form-done-s {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.7;
	color: var(--c-body);
}

.mz-form-again {
	margin-top: 12px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--c-brand);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: underline;
	cursor: pointer;
}

.mz-form-alert {
	margin: 0;
	display: flex;
	gap: 8px;
	align-items: flex-start;
	border: 1px solid rgba(140, 74, 93, 0.32);
	background: #fdf6f7;
	color: var(--c-brand);
	padding: 10px 12px;
	font-size: 12.5px;
	line-height: 1.6;
}

.mz-form-alert i {
	margin-top: 3px;
}

/* 弹窗内成功面板：与弹窗正文对齐 */
.modal-card form.is-done {
	padding-bottom: 26px;
}

/* 移动端抽屉：当前栏目高亮（与桌面导航 .nav-link.is-active 对应） */
[data-drawer] nav .is-active {
	color: var(--c-accent-2);
}

/* 产品详情 · 包装与运输卡（深色带上半透明白底，不能用 bg-white/[.04] 因为未编译） */
.pp-card {
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
	padding: 24px;
}

/* text-accent-2 未编译进 main.css，深色带上的图标改用变量直出 */
.pp-card i {
	color: var(--c-accent-2);
}

/* 产品详情 · 图库统一 1:1（主图与缩略图都由宽度决定高度） */
.mz-gal-main,
.mz-gal-thumb {
	aspect-ratio: 1 / 1;
	height: auto;
	max-width: 100%;
}

/* 缩略图按钮跟随图片的方形比例，避免按钮内留白 */
[data-gallery] {
	display: block;
	line-height: 0;
}

/* 联系信息短代码：正文里的链接统一走这里，避免把带方括号的 Tailwind 类写进短代码属性 */
.mzc-link {
	color: inherit;
	transition: color 0.2s ease;
}

.mzc-link:hover {
	color: var(--c-accent);
}

.mzc-call {
	font-weight: 600;
	color: var(--c-accent-2);
	text-decoration: underline;
	text-decoration-color: rgba(217, 188, 147, 0.4);
	text-underline-offset: 4px;
	transition: color 0.2s ease;
}

.mzc-call:hover {
	color: #fff;
}

.mzc-mapbar {
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	background: rgba(255, 255, 255, 0.95);
	padding: 0.75rem 1rem;
	font-size: 11px;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--c-ink);
	transition: background 0.2s ease;
}

.mzc-mapbar:hover {
	background: #fff;
}
