/* MorphSwift - 基础样式 */
*,
*::before,
*::after { box-sizing: border-box; }

:root {
	--ms-text-muted: color-mix(in srgb, var(--ms-text, #1e293b) 55%, var(--ms-background, #ffffff));
	--ms-border: color-mix(in srgb, var(--ms-text, #1e293b) 12%, var(--ms-background, #ffffff));
	--ms-surface-muted: color-mix(in srgb, var(--ms-text, #1e293b) 4%, var(--ms-background, #ffffff));
	--ms-on-primary: #ffffff;
	/* Semantic aliases for new CSS (values mirror existing tokens). */
	--ms-color-text: var(--ms-text, #1e293b);
	--ms-color-heading: var(--ms-heading, #0f172a);
	--ms-color-primary: var(--ms-primary, #3b82f6);
	--ms-color-surface: var(--ms-background, #ffffff);
	--ms-color-border: var(--ms-border);
	--ms-radius: 8px;
	--ms-success: #059669;
	--ms-danger: #dc2626;
	--ms-success-soft: color-mix(in srgb, var(--ms-success) 12%, var(--ms-background, #ffffff));
	--ms-danger-soft: color-mix(in srgb, var(--ms-danger) 12%, var(--ms-background, #ffffff));
}

:root,
html,
body.ms-body {
	font-family: var(--ms-font, system-ui);
}

html {
	font-size: var(--ms-font-size-base, 16px);
	scrollbar-gutter: stable;
}

/* ── 颜色方案：标签级 ── */
html,
body {
	background-color: var(--ms-background, #ffffff);
}

body,
.ms-body {
	color: var(--ms-text, #1e293b);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	color: var(--ms-heading, #0f172a);
	font-size: var(--ms-font-size-heading, 2rem);
	line-height: 1.3;
}

p {
	color: var(--ms-text, #1e293b);
}

a {
	color: var(--ms-link, var(--ms-primary, #3b82f6));
	text-decoration: none;
	transition: color var(--ms-transition, 0.2s);
}

a:hover {
	color: var(--ms-link-hover, #2563eb);
	text-decoration: underline;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: inherit;
	text-decoration: inherit;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
	color: var(--ms-link-hover, #2563eb);
}

small,
figcaption {
	color: var(--ms-text-muted, #64748b);
}

blockquote {
	color: var(--ms-text-muted, #64748b);
	border-color: var(--ms-border, #e2e8f0);
}

hr {
	border-color: var(--ms-border, #e2e8f0);
	background-color: var(--ms-border, #e2e8f0);
}

label {
	color: var(--ms-text, #1e293b);
}

th {
	color: var(--ms-heading, #0f172a);
}

td {
	color: var(--ms-text, #1e293b);
}

code,
kbd,
pre,
samp {
	color: var(--ms-text, #1e293b);
}

mark {
	background-color: color-mix(in srgb, var(--ms-accent, #8b5cf6) 25%, transparent);
	color: var(--ms-text, #1e293b);
}

body.ms-body input::placeholder,
body.ms-body textarea::placeholder {
	color: var(--ms-text-muted, #64748b);
}

.ms-body {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* 全站统一字体（由字体包 --ms-font 控制） */
body.ms-body button,
body.ms-body input,
body.ms-body select,
body.ms-body textarea,
body.ms-body optgroup {
	font-family: inherit;
	border: none;
}

/* 导航栏链接由 navbar.css 独立控制，不继承全站链接色/标题色 */
.ms-navbar a,
.ms-navbar a:visited {
	color: var(--ms-navbar-link, #475569);
	text-decoration: none;
}

.ms-navbar a:hover {
	text-decoration: none;
}

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

img.ms-img-placeholder {
	display: block;
	background-color: var(--ms-border, #e2e8f0);
	object-fit: cover;
	transition: opacity 0.2s ease;
}

img.ms-img-placeholder[data-src] {
	opacity: 1;
}

img.ms-img-placeholder--loaded {
	background-color: transparent;
}

svg { vertical-align: middle; }
[cloak], [x-cloak] { display: none !important; }

/* 模板库 iframe embed 预览：Alpine 未加载时仍展示 navbar 静态结构，但隐藏交互浮层 */
body.ms-preview-embed [cloak],
body.ms-preview-embed [x-cloak] {
	display: revert !important;
}

body.ms-preview-embed .sc-cart-panel,
body.ms-preview-embed .ms-navbar__hub-cart-panel,
body.ms-preview-embed .ms-navbar__hub-panel,
body.ms-preview-embed .ms-navbar__search-dropdown {
	display: none !important;
}

/* 桌面 embed：隐藏仅移动端显示的 UI */
body.ms-preview-embed .ms-navbar__hamburger,
body.ms-preview-embed .ms-navbar__overlay {
	display: none !important;
}

/* 桌面 embed：强制 compact 布局走 desktop 分支 */
body.ms-preview-embed .ms-navbar__components--compact .ms-navbar__components-desktop {
	display: flex !important;
}

body.ms-preview-embed .ms-navbar__components--compact .ms-navbar__components-mobile {
	display: none !important;
}

/* embed 缩略图不展示滚动后才出现的返回顶部 */
body.ms-preview-embed .ms-site-footer__back-to-top {
	display: none !important;
}

/* 桌面宽度下确保菜单横向展示（与 navbar.css min-width:992px / 手机 ≤991px 一致） */
@media (min-width: 992px) {
	body.ms-preview-embed .ms-navbar__menu-wrapper {
		display: flex !important;
		position: static !important;
		transform: none !important;
		visibility: visible !important;
	}
}

/* 断点阶梯（前台）：sm 576 / md 768 / lg 992 / xl 1200 / xxl 1400；
   手机壳层 max-width:991px，桌面 min-width:992px。媒体查询须写字面 px。 */

.ms-container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

@media (min-width: 576px) {
	.ms-container {
		max-width: 540px;
	}
}

@media (min-width: 768px) {
	.ms-container {
		max-width: 720px;
	}
}

@media (min-width: 992px) {
	.ms-container {
		max-width: 960px;
	}
}

@media (min-width: 1200px) {
	.ms-container {
		max-width: 1140px;
	}
}

@media (min-width: 1400px) {
	.ms-container {
		max-width: 1320px;
	}
}

.ms-content-container {
	max-width:1200px;
	margin: 0 120px;
	padding: 0 20px;
}

.ms-main {
	min-height: 60vh;
}

.ms-btn {
	display: inline-block;
	padding: 10px 24px;
	border-radius: var(--ms-radius, 8px);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
	border: 1px solid transparent;
	transition: all var(--ms-transition, 0.2s);
	text-decoration: none;
}

.ms-btn--primary {
	background: var(--ms-primary, #3b82f6);
	color: var(--ms-on-primary, #ffffff);
	border-color: var(--ms-primary, #3b82f6);
}

.ms-btn--primary:hover {
	background: var(--ms-secondary, #6366f1);
	border-color: var(--ms-secondary, #6366f1);
	color: var(--ms-on-primary, #ffffff);
	text-decoration: none;
}

@media (max-width: 991px) {
	.ms-hide-mobile { display: none !important; }
}

.ms-body.ms-animations-off *,
.ms-body.ms-animations-off *::before,
.ms-body.ms-animations-off *::after {
	animation: none !important;
	transition: none !important;
	scroll-behavior: auto !important;
}

/* FAQ accordion is interactive UI — keep open/close transitions when site motion is off. */
.ms-body.ms-animations-off .ms-page-module__faq-panel {
	transition: height 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.ms-body.ms-animations-off .ms-page-module__faq-panel > p {
	transition:
		opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.32s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.ms-body.ms-animations-off .ms-page-module__faq > summary::after {
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.ms-industry-preview-banner {
	text-align: center;
    padding: 10px 0;
    background: #dc3545;
    color: white;
    font-weight: bold;
}