/* =====================================================================
   Murano 高级主题 · 主题样式（2026-10-15）
   结构：① 设计令牌（4 套风格 × 5 组配色方案）② 基础排版与网格
         ③ 基本元素 ④ 页面框架 ⑤ 展示组件 ⑥ 招牌创意模块
         ⑦ 商品体验 ⑧ 动效层 ⑨ 编辑器模式 ⑩ 组件补充（页头组 / 页脚 / 各组件版式）
   组件只引用令牌；改全局设置 = 改变量。
   ===================================================================== */

/* ---------- ① 设计令牌：与风格无关的部分 ---------- */
:root {
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px;
  --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px; --space-10: 128px;
  --space-11: 160px; --space-12: 200px;
  --gutter: 24px;
  --page-edge: clamp(16px, 4vw, 48px);
  --w-narrow: 720px; --w-standard: 1200px; --w-wide: 1440px;
  --type-scale: 1;
  --type-display: calc(clamp(3rem, 1.87rem + 4.8vw, 8rem) * var(--type-scale));
  --type-h1: calc(clamp(2.5rem, 1.93rem + 2.4vw, 4.5rem) * var(--type-scale));
  --type-h2: calc(clamp(2rem, 1.6rem + 1.7vw, 3.25rem) * var(--type-scale));
  --type-h3: calc(clamp(1.5rem, 1.33rem + 0.75vw, 2.125rem) * var(--type-scale));
  --type-h4: calc(clamp(1.25rem, 1.19rem + 0.25vw, 1.5rem) * var(--type-scale));
  --type-body-lg: calc(1.125rem * var(--type-scale));
  --type-body: calc(1rem * var(--type-scale));
  --type-small: calc(0.875rem * var(--type-scale));
  --type-label: calc(0.75rem * var(--type-scale));
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-standard: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --z-header: 50; --z-drawer: 80; --z-overlay: 70; --z-dock: 90; --z-cursor: 100;
}
@media (max-width: 1199px) { :root { --gutter: 20px; } }
@media (max-width: 749px) { :root { --gutter: 16px; } }

/* ---------- ① 风格：Atelier 极简奢感 ---------- */
:root, [data-style="atelier"] {
  --font-heading: "Cormorant Garamond", "Noto Serif SC", Georgia, serif;
  --font-body: "Manrope", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --font-accent: "Cormorant Garamond", Georgia, serif;
  --h-weight: 500; --h-tracking: -0.015em; --h-case: none; --h-leading: 1.05;
  --display-weight: 400; --display-tracking: -0.025em; --display-leading: 0.95;
  --h-variation: normal;
  --label-weight: 600; --label-tracking: 0.16em; --label-case: uppercase;
  --btn-case: uppercase; --btn-tracking: 0.14em; --btn-weight: 600; --btn-font-size: 0.75rem;
  --radius-card: 0px; --radius-img: 0px; --radius-btn: 0px; --radius-input: 0px; --radius-badge: 0px;
  --border-w: 1px;
  --shadow-card: none; --shadow-pop: 0 20px 60px rgba(20, 20, 20, 0.12);
  --m-dist: 16px; --m-dur: 900ms; --m-ease: var(--ease-out); --m-blur: 0px; --m-scale: 1; --m-skew: 0deg;
  --img-hover-scale: 1.04;
  /* 方案 1 纯白底（用户 10-15「极简奢感改纯白」）；次级底色取很浅的暖灰，卡片 / 占位与白底仍分得开。 */
  --s1-bg: #FFFFFF; --s1-surface: #F4F2ED; --s1-text: #141414; --s1-muted: #6B6760; --s1-border: #E2DED6; --s1-primary: #141414; --s1-on-primary: #FFFFFF; --s1-accent: #A88B5A; --s1-overlay: rgba(20, 20, 20, 0.42);
  --s2-bg: #EFEBE3; --s2-surface: #F7F5F0; --s2-text: #141414; --s2-muted: #625E57; --s2-border: #D3CDC1; --s2-primary: #141414; --s2-on-primary: #F7F5F0; --s2-accent: #8F7547; --s2-overlay: rgba(20, 20, 20, 0.42);
  --s3-bg: #141414; --s3-surface: #1E1E1C; --s3-text: #F2EEE6; --s3-muted: #A8A39A; --s3-border: #34322E; --s3-primary: #F2EEE6; --s3-on-primary: #141414; --s3-accent: #C8AE7E; --s3-overlay: rgba(0, 0, 0, 0.5);
  --s4-bg: #CDB991; --s4-surface: #D9C9A8; --s4-text: #141414; --s4-muted: #3E3A33; --s4-border: #B39D74; --s4-primary: #141414; --s4-on-primary: #F7F5F0; --s4-accent: #F7F5F0; --s4-overlay: rgba(20, 20, 20, 0.4);
  --s5-bg: #FFFFFF; --s5-surface: #F7F5F0; --s5-text: #141414; --s5-muted: #6B6760; --s5-border: #E4E0D8; --s5-primary: #141414; --s5-on-primary: #FFFFFF; --s5-accent: #A88B5A; --s5-overlay: rgba(20, 20, 20, 0.42);
}

/* ---------- ① 风格：Pulse 大胆潮流 ---------- */
[data-style="pulse"] {
  --font-heading: "Archivo", "PingFang SC", system-ui, sans-serif;
  --font-body: "Inter", "PingFang SC", system-ui, sans-serif;
  --font-accent: "Archivo", system-ui, sans-serif;
  --h-weight: 850; --h-tracking: -0.02em; --h-case: uppercase; --h-leading: 0.92;
  --display-weight: 900; --display-tracking: -0.035em; --display-leading: 0.85;
  --h-variation: "wdth" 118;
  --label-weight: 700; --label-tracking: 0.08em; --label-case: uppercase;
  --btn-case: uppercase; --btn-tracking: 0.04em; --btn-weight: 800; --btn-font-size: 0.875rem;
  --radius-card: 0px; --radius-img: 0px; --radius-btn: 999px; --radius-input: 0px; --radius-badge: 999px;
  --border-w: 2px;
  --shadow-card: 6px 6px 0 var(--text); --shadow-pop: 8px 8px 0 #0A0A0A;
  --m-dist: 48px; --m-dur: 560ms; --m-ease: var(--ease-spring); --m-blur: 0px; --m-scale: 0.96; --m-skew: -4deg;
  --img-hover-scale: 1.08;
  --s1-bg: #FFFFFF; --s1-surface: #F2F2F2; --s1-text: #0A0A0A; --s1-muted: #5E5E5E; --s1-border: #0A0A0A; --s1-primary: #0A0A0A; --s1-on-primary: #FFFFFF; --s1-accent: #D4FF3F; --s1-overlay: rgba(10, 10, 10, 0.35);
  --s2-bg: #F2F2F2; --s2-surface: #FFFFFF; --s2-text: #0A0A0A; --s2-muted: #565656; --s2-border: #0A0A0A; --s2-primary: #0A0A0A; --s2-on-primary: #FFFFFF; --s2-accent: #D4FF3F; --s2-overlay: rgba(10, 10, 10, 0.35);
  --s3-bg: #0A0A0A; --s3-surface: #161616; --s3-text: #FFFFFF; --s3-muted: #A3A3A3; --s3-border: #FFFFFF; --s3-primary: #D4FF3F; --s3-on-primary: #0A0A0A; --s3-accent: #D4FF3F; --s3-overlay: rgba(0, 0, 0, 0.45);
  --s4-bg: #D4FF3F; --s4-surface: #E6FF8A; --s4-text: #0A0A0A; --s4-muted: #34400A; --s4-border: #0A0A0A; --s4-primary: #0A0A0A; --s4-on-primary: #D4FF3F; --s4-accent: #0A0A0A; --s4-overlay: rgba(10, 10, 10, 0.3);
  --s5-bg: #FF4D00; --s5-surface: #FF7033; --s5-text: #0A0A0A; --s5-muted: #2A1200; --s5-border: #0A0A0A; --s5-primary: #0A0A0A; --s5-on-primary: #FFFFFF; --s5-accent: #FFFFFF; --s5-overlay: rgba(10, 10, 10, 0.3);
}

/* ---------- ① 风格：Terra 温暖自然 ---------- */
[data-style="terra"] {
  --font-heading: "Fraunces", "Noto Serif SC", Georgia, serif;
  --font-body: "DM Sans", "PingFang SC", system-ui, sans-serif;
  --font-accent: "Fraunces", Georgia, serif;
  --h-weight: 500; --h-tracking: -0.01em; --h-case: none; --h-leading: 1.08;
  --display-weight: 500; --display-tracking: -0.02em; --display-leading: 1;
  --h-variation: "SOFT" 100, "opsz" 96;
  --label-weight: 700; --label-tracking: 0.12em; --label-case: uppercase;
  --btn-case: none; --btn-tracking: 0; --btn-weight: 700; --btn-font-size: 0.9375rem;
  --radius-card: 16px; --radius-img: 20px; --radius-btn: 999px; --radius-input: 12px; --radius-badge: 999px;
  --border-w: 1px;
  --shadow-card: 0 8px 24px rgba(43, 38, 32, 0.08); --shadow-pop: 0 24px 60px rgba(43, 38, 32, 0.16);
  --m-dist: 24px; --m-dur: 720ms; --m-ease: var(--ease-out); --m-blur: 0px; --m-scale: 1; --m-skew: 0deg;
  --img-hover-scale: 1.05;
  --s1-bg: #F3EDE3; --s1-surface: #E9DFD0; --s1-text: #2B2620; --s1-muted: #6A5F53; --s1-border: #D8CBB8; --s1-primary: #B4592F; --s1-on-primary: #FFFFFF; --s1-accent: #6E7356; --s1-overlay: rgba(43, 38, 32, 0.38);
  --s2-bg: #E9DFD0; --s2-surface: #F3EDE3; --s2-text: #2B2620; --s2-muted: #625749; --s2-border: #D2C3AD; --s2-primary: #B4592F; --s2-on-primary: #FFFFFF; --s2-accent: #6E7356; --s2-overlay: rgba(43, 38, 32, 0.38);
  --s3-bg: #2B2620; --s3-surface: #362F28; --s3-text: #F3EDE3; --s3-muted: #BFB3A3; --s3-border: #4A4036; --s3-primary: #E0A27E; --s3-on-primary: #2B2620; --s3-accent: #A5AB8A; --s3-overlay: rgba(0, 0, 0, 0.42);
  --s4-bg: #5B6046; --s4-surface: #676C51; --s4-text: #F7F3EC; --s4-muted: #DCD8C6; --s4-border: #767B5F; --s4-primary: #F3EDE3; --s4-on-primary: #2B2620; --s4-accent: #F0C9A8; --s4-overlay: rgba(30, 32, 22, 0.4);
  --s5-bg: #A44F28; --s5-surface: #B05C34; --s5-text: #FFFFFF; --s5-muted: #FCE7DB; --s5-border: #BC6C47; --s5-primary: #FFFFFF; --s5-on-primary: #A44F28; --s5-accent: #2B2620; --s5-overlay: rgba(43, 20, 10, 0.4);
}

/* ---------- ① 风格：Nova 现代科技 ---------- */
[data-style="nova"] {
  --font-heading: "Space Grotesk", "PingFang SC", system-ui, sans-serif;
  --font-body: "Inter", "PingFang SC", system-ui, sans-serif;
  --font-accent: "Space Grotesk", system-ui, sans-serif;
  --h-weight: 600; --h-tracking: -0.03em; --h-case: none; --h-leading: 1.02;
  --display-weight: 700; --display-tracking: -0.045em; --display-leading: 0.92;
  --h-variation: normal;
  --label-weight: 600; --label-tracking: 0.18em; --label-case: uppercase;
  --btn-case: none; --btn-tracking: 0; --btn-weight: 600; --btn-font-size: 0.9375rem;
  --radius-card: 14px; --radius-img: 12px; --radius-btn: 10px; --radius-input: 10px; --radius-badge: 6px;
  --border-w: 1px;
  --shadow-card: 0 0 0 1px rgba(139, 92, 246, 0.12), 0 20px 40px rgba(0, 0, 0, 0.35);
  --shadow-pop: 0 30px 80px rgba(0, 0, 0, 0.55);
  --m-dist: 20px; --m-dur: 680ms; --m-ease: var(--ease-out); --m-blur: 10px; --m-scale: 1; --m-skew: 0deg;
  --img-hover-scale: 1.05;
  --s1-bg: #0A0C12; --s1-surface: #121621; --s1-text: #E8EAF2; --s1-muted: #8A90A2; --s1-border: #262C3A; --s1-primary: linear-gradient(100deg, #A78BFA, #67E8F9); --s1-on-primary: #0A0C12; --s1-accent: #A78BFA; --s1-overlay: rgba(5, 6, 10, 0.5);
  --s2-bg: #121621; --s2-surface: #1A1F2C; --s2-text: #E8EAF2; --s2-muted: #8E95A8; --s2-border: #2A3142; --s2-primary: linear-gradient(100deg, #A78BFA, #67E8F9); --s2-on-primary: #0A0C12; --s2-accent: #67E8F9; --s2-overlay: rgba(5, 6, 10, 0.5);
  --s3-bg: #F5F6FA; --s3-surface: #FFFFFF; --s3-text: #0A0C12; --s3-muted: #5B6275; --s3-border: #DDE1EA; --s3-primary: #0A0C12; --s3-on-primary: #FFFFFF; --s3-accent: #7C3AED; --s3-overlay: rgba(10, 12, 18, 0.4);
  --s4-bg: linear-gradient(135deg, #2B1055 0%, #0B3A5C 100%); --s4-surface: rgba(255, 255, 255, 0.08); --s4-text: #FFFFFF; --s4-muted: #C9D2E6; --s4-border: rgba(255, 255, 255, 0.18); --s4-primary: #FFFFFF; --s4-on-primary: #0A0C12; --s4-accent: #67E8F9; --s4-overlay: rgba(10, 6, 30, 0.45);
  --s5-bg: #000000; --s5-surface: #0E0E12; --s5-text: #F5F5F7; --s5-muted: #9A9AA6; --s5-border: #232329; --s5-primary: linear-gradient(100deg, #A78BFA, #67E8F9); --s5-on-primary: #0A0C12; --s5-accent: #A78BFA; --s5-overlay: rgba(0, 0, 0, 0.5);
}

/* 配色方案槽位 → 角色变量 */
[data-scheme="1"], :root { --bg: var(--s1-bg); --surface: var(--s1-surface); --text: var(--s1-text); --muted: var(--s1-muted); --border: var(--s1-border); --primary: var(--s1-primary); --on-primary: var(--s1-on-primary); --accent: var(--s1-accent); --overlay: var(--s1-overlay); }
[data-scheme="2"] { --bg: var(--s2-bg); --surface: var(--s2-surface); --text: var(--s2-text); --muted: var(--s2-muted); --border: var(--s2-border); --primary: var(--s2-primary); --on-primary: var(--s2-on-primary); --accent: var(--s2-accent); --overlay: var(--s2-overlay); }
[data-scheme="3"] { --bg: var(--s3-bg); --surface: var(--s3-surface); --text: var(--s3-text); --muted: var(--s3-muted); --border: var(--s3-border); --primary: var(--s3-primary); --on-primary: var(--s3-on-primary); --accent: var(--s3-accent); --overlay: var(--s3-overlay); }
[data-scheme="4"] { --bg: var(--s4-bg); --surface: var(--s4-surface); --text: var(--s4-text); --muted: var(--s4-muted); --border: var(--s4-border); --primary: var(--s4-primary); --on-primary: var(--s4-on-primary); --accent: var(--s4-accent); --overlay: var(--s4-overlay); }
[data-scheme="5"] { --bg: var(--s5-bg); --surface: var(--s5-surface); --text: var(--s5-text); --muted: var(--s5-muted); --border: var(--s5-border); --primary: var(--s5-primary); --on-primary: var(--s5-on-primary); --accent: var(--s5-accent); --overlay: var(--s5-overlay); }
[data-scheme] { background: var(--bg); color: var(--text); }

/* ---------- ② 基础排版与网格 ---------- */
/* 自定义元素默认是行内元素：一律当块级，否则高度、粘性定位、进场观察都会失效 */
mu-header, mu-menu, mu-search, mu-cart-drawer, mu-announcement, mu-countdown, mu-hero, mu-zoom, mu-story, mu-horizontal, mu-stack,
mu-lookbook, mu-compare, mu-spotlight, mu-fluid, mu-quotes, mu-gallery, mu-video, mu-collections, mu-bundle, mu-product,
mu-collection, mu-cart-page, mu-recent, mu-canvas-gallery, mu-stories, mu-drop { display: block; }
mu-config { display: none; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; }
body {
  margin: 0; font-family: var(--font-body); font-size: var(--type-body); line-height: 1.6;
  background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  transition: background-color 400ms ease, color 400ms ease;
}
img, video, canvas, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }

.t-display, .t-h1, .t-h2, .t-h3, .t-h4 {
  font-family: var(--font-heading); font-weight: var(--h-weight); letter-spacing: var(--h-tracking);
  text-transform: var(--h-case); line-height: var(--h-leading); font-variation-settings: var(--h-variation);
  margin: 0; text-wrap: balance;
}
.t-display { font-size: var(--type-display); font-weight: var(--display-weight); letter-spacing: var(--display-tracking); line-height: var(--display-leading); }
.t-h1 { font-size: var(--type-h1); }
.t-h2 { font-size: var(--type-h2); }
.t-h3 { font-size: var(--type-h3); line-height: 1.15; }
.t-h4 { font-size: var(--type-h4); line-height: 1.25; }
.t-lead { font-size: var(--type-body-lg); line-height: 1.6; color: var(--muted); margin: 0; text-wrap: pretty; }
.t-body { font-size: var(--type-body); margin: 0; }
.t-small { font-size: var(--type-small); line-height: 1.5; }
.t-muted { color: var(--muted); }
.t-label {
  font-family: var(--font-body); font-size: var(--type-label); font-weight: var(--label-weight);
  letter-spacing: var(--label-tracking); text-transform: var(--label-case); line-height: 1.4; margin: 0;
}
/* 元素级样式（规范 6.11）：编辑器写这些变量，模板默认不设 = 跟随主题 */
[data-ts] {
  font-size: var(--ts-size, inherit); color: var(--ts-color, inherit); font-weight: var(--ts-weight, inherit);
  letter-spacing: var(--ts-tracking, inherit); line-height: var(--ts-leading, inherit); text-transform: var(--ts-case, inherit);
  max-width: var(--ts-maxw, none);
}
@media (max-width: 749px) { [data-ts] { font-size: var(--ts-size-m, var(--ts-size, inherit)); } }
[data-ts][data-ts-font="body"] { font-family: var(--font-body); }
[data-ts][data-ts-font="heading"] { font-family: var(--font-heading); }
[data-ts][data-ts-font="accent"] { font-family: var(--font-accent); font-style: italic; }
[data-ts][data-ts-gradient] { background: var(--ts-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* 局部强调（规范 6.11 ②） */
.mu-em { font-style: inherit; }
.mu-em--accent { color: var(--accent); }
.mu-em--serif { font-family: var(--font-accent); font-style: italic; font-weight: 400; letter-spacing: -0.01em; text-transform: none; }
.mu-em--gradient { background: linear-gradient(100deg, var(--accent), #e8a87c 50%, var(--accent)); -webkit-background-clip: text; background-clip: text; color: transparent; }
[data-style="nova"] .mu-em--gradient { background-image: linear-gradient(100deg, #A78BFA, #67E8F9); }
.mu-em--outline { color: transparent; -webkit-text-stroke: 1.5px currentColor; -webkit-text-stroke-color: var(--text); }
.mu-em--highlight { background: linear-gradient(transparent 58%, var(--accent) 58%, var(--accent) 92%, transparent 92%); padding: 0 0.08em; }
.mu-em--wavy { text-decoration: underline wavy var(--accent); text-underline-offset: 0.18em; text-decoration-thickness: 2px; }

.mu-section { position: relative; padding-block: var(--rhythm-y, var(--rhythm-std, 96px)); }
.mu-section[data-rhythm="compact"] { --rhythm-y: var(--space-7); }
.mu-section[data-rhythm="spacious"] { --rhythm-y: var(--space-11); }
.mu-section[data-rhythm="none"] { --rhythm-y: 0px; }
@media (max-width: 749px) {
  .mu-section { --rhythm-y: var(--rhythm-std-m, 56px); }
  .mu-section[data-rhythm="compact"] { --rhythm-y: 32px; }
  .mu-section[data-rhythm="spacious"] { --rhythm-y: 88px; }
  .mu-section[data-rhythm="none"] { --rhythm-y: 0px; }
}
.mu-container { width: 100%; max-width: calc(var(--w-standard) + 2 * var(--page-edge)); margin-inline: auto; padding-inline: var(--page-edge); }
.mu-container[data-width="narrow"] { max-width: calc(var(--w-narrow) + 2 * var(--page-edge)); }
.mu-container[data-width="wide"] { max-width: calc(var(--w-wide) + 2 * var(--page-edge)); }
.mu-container[data-width="full"] { max-width: none; }
.mu-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gutter); }
.mu-section-head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-7); flex-wrap: wrap; }
.mu-section-head__text { display: grid; gap: var(--space-3); max-width: 720px; }
.mu-section-head[data-align="center"] { flex-direction: column; align-items: center; text-align: center; }
.mu-section-head[data-align="center"] .mu-section-head__text { justify-items: center; }

/* 模块分隔形状（规范 6.12） */
.mu-divider { position: absolute; left: 0; right: 0; height: 64px; pointer-events: none; color: var(--bg); }
.mu-divider--bottom { bottom: -1px; }
.mu-divider svg { width: 100%; height: 100%; }

/* ---------- ③ 基本元素 ---------- */
.mu-btn {
  --btn-h: 48px; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: var(--btn-h); padding: 0 28px; border-radius: var(--radius-btn); overflow: hidden; isolation: isolate;
  font-family: var(--font-body); font-size: var(--btn-font-size); font-weight: var(--btn-weight);
  letter-spacing: var(--btn-tracking); text-transform: var(--btn-case); white-space: nowrap;
  transition: transform 300ms var(--ease-out), box-shadow 300ms var(--ease-out), color 300ms ease, background 300ms ease, border-color 300ms ease;
}
.mu-btn--lg { --btn-h: 56px; padding: 0 36px; }
.mu-btn--sm { --btn-h: 38px; padding: 0 18px; font-size: calc(var(--btn-font-size) * 0.92); }
.mu-btn--block { width: 100%; }
.mu-btn--primary { background: var(--primary); color: var(--on-primary); border: var(--border-w) solid transparent; }
.mu-btn--secondary { background: transparent; color: var(--text); border: var(--border-w) solid var(--text); }
.mu-btn--text { padding: 0; min-height: auto; background: none; border-radius: 0; overflow: visible; }
.mu-btn--text::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: currentColor; transform-origin: left; transition: transform 500ms var(--ease-out); }
.mu-btn--text:hover::after { transform: scaleX(0.35); }
.mu-btn--icon { width: 44px; padding: 0; --btn-h: 44px; border-radius: 999px; }
.mu-btn[disabled] { opacity: 0.45; pointer-events: none; }
.mu-btn__label { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 10px; }
/* Atelier：底色从左扫过 */
[data-style="atelier"] .mu-btn--primary::before, :root:not([data-style]) .mu-btn--primary::before {
  content: ""; position: absolute; inset: 0; background: var(--accent); transform: scaleX(0); transform-origin: right; transition: transform 600ms var(--ease-out); z-index: 0;
}
[data-style="atelier"] .mu-btn--primary:hover::before { transform: scaleX(1); transform-origin: left; }
[data-style="atelier"] .mu-btn--secondary:hover { background: var(--text); color: var(--bg); }
/* Pulse：磁吸（JS）+ 文字翻滚 + 硬投影 */
[data-style="pulse"] .mu-btn--primary, [data-style="pulse"] .mu-btn--secondary { border: 2px solid var(--text); }
[data-style="pulse"] .mu-btn--primary:hover, [data-style="pulse"] .mu-btn--secondary:hover { box-shadow: 4px 4px 0 var(--text); transform: translate(-2px, -2px); }
[data-style="pulse"] .mu-btn--secondary:hover { background: var(--accent); color: #0A0A0A; }
.mu-btn__roll { display: grid; overflow: hidden; height: 1.25em; line-height: 1.25em; }
.mu-btn__roll > span { transition: transform 450ms var(--ease-out); }
.mu-btn__roll > span + span { position: absolute; transform: translateY(110%); }
[data-style="pulse"] .mu-btn:hover .mu-btn__roll > span:first-child { transform: translateY(-110%); }
[data-style="pulse"] .mu-btn:hover .mu-btn__roll > span + span { transform: translateY(0); }
/* Terra：上浮 + 阴影 */
[data-style="terra"] .mu-btn--primary:hover, [data-style="terra"] .mu-btn--secondary:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(164, 79, 40, 0.22); }
[data-style="terra"] .mu-btn--secondary { border-color: var(--border); }
[data-style="terra"] .mu-btn--secondary:hover { border-color: var(--text); }
/* Nova：光线扫过 + 发光 */
[data-style="nova"] .mu-btn--primary::after {
  content: ""; position: absolute; inset: -2px; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.65) 48%, transparent 66%);
  transform: translateX(-120%); transition: transform 900ms var(--ease-out); z-index: 0;
}
[data-style="nova"] .mu-btn--primary:hover::after { transform: translateX(120%); }
[data-style="nova"] .mu-btn--primary:hover { box-shadow: 0 0 0 1px rgba(167, 139, 250, 0.5), 0 10px 40px rgba(103, 232, 249, 0.25); }
[data-style="nova"] .mu-btn--secondary { border-color: var(--border); background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(8px); }
[data-style="nova"] .mu-btn--secondary:hover { border-color: #A78BFA; box-shadow: 0 0 24px rgba(167, 139, 250, 0.25); }

.mu-input {
  width: 100%; min-height: 48px; padding: 0 16px; background: var(--surface); color: var(--text);
  border: var(--border-w) solid var(--border); border-radius: var(--radius-input); outline: none;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.mu-input::placeholder { color: var(--muted); }
.mu-input:focus { border-color: var(--text); }
[data-style="atelier"] .mu-input, :root:not([data-style]) .mu-input { background: transparent; border-width: 0 0 1px; padding-inline: 0; }
[data-style="terra"] .mu-input { border-color: transparent; }
[data-style="terra"] .mu-input:focus { border-color: var(--primary); }
[data-style="nova"] .mu-input:focus { border-color: #A78BFA; box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.15); }
.mu-field { display: grid; gap: 6px; }
.mu-field__error { font-size: var(--type-small); color: #C0392B; }

.mu-badge {
  display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: var(--radius-badge);
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; background: var(--text); color: var(--bg);
}
.mu-badge--accent { background: var(--accent); color: var(--text); }
[data-style="atelier"] .mu-badge--accent { color: #141414; }
[data-style="pulse"] .mu-badge--accent { color: #0A0A0A; border: 2px solid #0A0A0A; }
.mu-badge--outline { background: transparent; color: var(--text); border: 1px solid var(--border); }
.mu-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--border); font-size: var(--type-small); }

.mu-icon { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.mu-icon--sm { width: 18px; height: 18px; }

/* 图片位（规范 3.6）：比例盒 + 焦点 + 主色占位 + 淡入 */
.mu-media { position: relative; overflow: hidden; border-radius: var(--radius-img); background: var(--media-placeholder, var(--surface)); aspect-ratio: var(--ratio, auto); }
.mu-media > img, .mu-media > video, .mu-media > picture > img {
  width: 100%; height: 100%; object-fit: var(--fit, cover); object-position: var(--focal, 50% 50%);
  transition: opacity 700ms ease, transform 1200ms var(--ease-out);
}
.mu-media[data-natural] > img, .mu-media[data-natural] > picture > img { height: auto; }
.mu-media > picture { display: block; width: 100%; height: 100%; }
@media (max-width: 749px) { .mu-media > picture > img { object-position: var(--focal-m, var(--focal, 50% 50%)); } }
.mu-js .mu-media > img:not(.is-loaded), .mu-js .mu-media > picture > img:not(.is-loaded) { opacity: 0; }
.mu-fallback .mu-media > img, .mu-fallback .mu-media > picture > img { opacity: 1 !important; }
.mu-media__ph { width: 100%; height: 100%; display: block; color: var(--muted); background: var(--surface); }
.mu-media .mu-media__overlay { background: linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, var(--overlay-a, 0.4))); }
.mu-media[data-fit="contain"] { --fit: contain; background: var(--media-fill, var(--surface)); }
.mu-media[data-filter="mono"] > img { filter: grayscale(1) contrast(1.05); }
.mu-media[data-filter="warm"] > img { filter: sepia(0.25) saturate(1.1); }
.mu-media__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, var(--overlay)); pointer-events: none; }

/* ---------- ④ 页面框架 ---------- */
.mu-announce { position: relative; height: 38px; overflow: hidden; font-size: 12px; letter-spacing: 0.08em; }
.mu-announce__track { display: grid; height: 100%; }
.mu-announce__item {
  grid-area: 1 / 1; display: flex; align-items: center; justify-content: center; gap: 10px;
  opacity: 0; transform: translateY(100%); transition: transform 700ms var(--ease-out), opacity 700ms ease;
}
.mu-announce__item.is-active { opacity: 1; transform: none; }
.mu-announce__item.is-leaving { opacity: 0; transform: translateY(-100%); }
[data-style="pulse"] .mu-announce { font-weight: 700; text-transform: uppercase; }

section[data-sc-type="header"] { position: sticky; top: 0; z-index: var(--z-header); transition: transform 500ms var(--ease-out); }
section[data-sc-type="header"]:has(.mu-header[data-sticky="none"]) { position: relative; }
section[data-sc-type="header"].is-hidden { transform: translateY(-110%); }
section[data-sc-type="header"].is-overlay { position: fixed; left: 0; right: 0; top: var(--mu-announce-h, 0px); }
section[data-sc-type="header"].is-overlay.is-scrolled { top: 0; }
.mu-header { position: relative; background: var(--bg); color: var(--text); border-bottom: 1px solid var(--border); transition: background-color 400ms ease, color 400ms ease, box-shadow 400ms ease, border-color 400ms ease; }
/* 透明叠在首屏上只在未滚动时：此前这条带两个 :not() 权重压过下面「滚动后变实底」，买家往回滚、页头重新出现时一直是透明白字（10-15 修）。 */
.is-overlay:not(.is-scrolled) > .mu-header:not(:hover):not(:focus-within) { background: transparent; color: #fff; border-bottom-color: transparent; }
.is-overlay.is-scrolled > .mu-header, .is-overlay > .mu-header:hover, .is-overlay > .mu-header:focus-within { background: var(--bg); color: var(--text); border-bottom-color: var(--border); }
[data-style="nova"] .mu-header { background: rgba(10, 12, 18, 0.72); backdrop-filter: blur(16px) saturate(1.4); }
[data-style="nova"] body[data-scheme="3"] .mu-header, [data-style="nova"] .mu-header[data-scheme="3"] { background: rgba(245, 246, 250, 0.82); }
.mu-header__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 76px; gap: var(--space-6); transition: height 400ms var(--ease-out); }
.is-scrolled > .mu-header .mu-header__bar { height: 62px; }
.mu-logo { font-family: var(--font-heading); font-size: 26px; font-weight: var(--h-weight); letter-spacing: 0.02em; text-transform: var(--h-case); font-variation-settings: var(--h-variation); line-height: 1; justify-self: center; display: flex; align-items: center; gap: 10px; }
[data-style="atelier"] .mu-logo { letter-spacing: 0.32em; font-size: 22px; font-weight: 500; }
.mu-logo__mark { width: 26px; height: 26px; }
.mu-nav { display: flex; gap: var(--space-6); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
[data-style="terra"] .mu-nav, [data-style="nova"] .mu-nav { text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 500; }
.mu-nav__link { position: relative; padding: 10px 0; display: inline-flex; align-items: center; gap: 6px; }
.mu-nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 500ms var(--ease-out); }
.mu-nav__link:hover::after, .mu-nav__item.is-open > .mu-nav__link::after { transform: scaleX(1); transform-origin: left; }
.mu-header__tools { display: flex; justify-content: flex-end; align-items: center; gap: var(--space-2); }
.mu-header__tool { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 999px; transition: background 200ms ease; }
.mu-header__tool:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
.mu-cart-count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--accent); color: var(--text); font-size: 10px; font-weight: 700; display: grid; place-items: center; transform: scale(0); transition: transform 400ms var(--ease-spring); }
[data-style="atelier"] .mu-cart-count { color: #141414; }
.mu-cart-count.is-visible { transform: scale(1); }
.mu-cart-count.is-bump { animation: mu-bump 500ms var(--ease-spring); }
@keyframes mu-bump { 40% { transform: scale(1.5); } }
.mu-burger { display: none; }
@media (max-width: 999px) {
  .mu-header__bar { grid-template-columns: auto 1fr auto; height: 64px; }
  .mu-nav { display: none; }
  .mu-burger { display: grid; }
  .mu-logo { justify-self: center; font-size: 22px; }
}

/* 大菜单 */
.mu-mega {
  position: absolute; left: 0; right: 0; top: 100%; background: var(--bg); color: var(--text); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity 350ms ease, transform 450ms var(--ease-out), visibility 0s linear 450ms;
}
.mu-nav__item.is-open .mu-mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mu-mega__inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 1.4fr 1.4fr; gap: var(--space-7); padding-block: var(--space-7); }
.mu-mega__col h4 { margin: 0 0 var(--space-4); }
.mu-mega__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 15px; }
.mu-mega__col a { color: var(--muted); transition: color 200ms ease, padding 300ms var(--ease-out); }
.mu-mega__col a:hover { color: var(--text); padding-left: 6px; }
.mu-mega__card { display: grid; gap: 12px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.mu-mega__card .mu-media { --ratio: 4 / 5; }
.mu-mega__card:hover .mu-media img { transform: scale(var(--img-hover-scale)); }

/* 搜索浮层 */
.mu-search { position: fixed; inset: 0; z-index: var(--z-overlay); background: var(--bg); color: var(--text); display: grid; grid-template-rows: auto 1fr; opacity: 0; visibility: hidden; transition: opacity 400ms ease, visibility 0s linear 400ms; }
.mu-search.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.mu-search__bar { display: flex; align-items: center; gap: var(--space-4); padding-block: var(--space-6); border-bottom: 1px solid var(--border); }
.mu-search__input { flex: 1; font-family: var(--font-heading); font-size: var(--type-h2); font-weight: var(--h-weight); background: none; border: 0; outline: none; color: var(--text); letter-spacing: var(--h-tracking); text-transform: var(--h-case); font-variation-settings: var(--h-variation); }
.mu-search__input::placeholder { color: var(--muted); opacity: 0.6; }
.mu-search__body { overflow: auto; padding-block: var(--space-7); }
.mu-search__cols { display: grid; grid-template-columns: 1fr 3fr; gap: var(--space-8); }
.mu-search__terms { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--space-4); }
.mu-search__results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gutter); margin-top: var(--space-4); }
@media (max-width: 749px) { .mu-search__cols { grid-template-columns: 1fr; } .mu-search__results { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mu-search__hit { display: grid; gap: 8px; }
.mu-search__hit .mu-media { --ratio: 4 / 5; }
.mu-search__hit mark { background: none; color: var(--accent); }

/* 购物车抽屉 */
.mu-scrim { position: fixed; inset: 0; z-index: calc(var(--z-drawer) - 1); background: rgba(0, 0, 0, 0.35); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; transition: opacity 400ms ease, visibility 0s linear 400ms; }
.mu-scrim.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.mu-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: var(--z-drawer); width: min(460px, 100vw); display: grid; grid-template-rows: auto auto 1fr auto;
  background: var(--bg); color: var(--text); box-shadow: var(--shadow-pop); transform: translateX(105%); transition: transform 600ms var(--ease-out);
}
.mu-drawer.is-open { transform: none; }
[data-style="terra"] .mu-drawer { border-radius: 24px 0 0 24px; }
[data-style="pulse"] .mu-drawer { border-left: 2px solid var(--text); box-shadow: none; }
.mu-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: var(--space-5) var(--space-6); border-bottom: 1px solid var(--border); }
.mu-drawer__ship { padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--border); display: grid; gap: 10px; font-size: var(--type-small); }
.mu-progress { height: 4px; border-radius: 4px; background: var(--surface); overflow: hidden; }
.mu-progress > span { display: block; height: 100%; width: var(--p, 0%); background: var(--accent); transition: width 800ms var(--ease-out); }
[data-style="nova"] .mu-progress > span { background: linear-gradient(90deg, #A78BFA, #67E8F9); }
[data-style="pulse"] .mu-progress { height: 8px; border: 2px solid var(--text); border-radius: 0; }
.mu-drawer__body { overflow: auto; padding: var(--space-5) var(--space-6); display: grid; align-content: start; gap: var(--space-5); }
.mu-line { display: grid; grid-template-columns: 84px 1fr auto; gap: var(--space-4); align-items: start; animation: mu-line-in 600ms var(--ease-out) both; }
@keyframes mu-line-in { from { opacity: 0; transform: translateX(24px); } }
.mu-line .mu-media { --ratio: 4 / 5; }
.mu-line__title { font-weight: 600; margin: 0 0 4px; }
.mu-line__meta { color: var(--muted); font-size: var(--type-small); }
.mu-qty { display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: var(--radius-btn); height: 36px; margin-top: 10px; }
.mu-qty button { width: 34px; height: 100%; display: grid; place-items: center; }
.mu-qty span { min-width: 26px; text-align: center; font-variant-numeric: tabular-nums; font-size: var(--type-small); }
.mu-drawer__foot { padding: var(--space-5) var(--space-6) var(--space-6); border-top: 1px solid var(--border); display: grid; gap: var(--space-4); }
.mu-drawer__row { display: flex; justify-content: space-between; align-items: baseline; }
.mu-drawer__upsell { border-top: 1px solid var(--border); padding-top: var(--space-5); display: grid; gap: var(--space-4); }
.mu-mini-card { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; font-size: var(--type-small); }
.mu-mini-card .mu-media { --ratio: 1; }
.mu-empty { text-align: center; padding: var(--space-9) 0; color: var(--muted); display: grid; gap: var(--space-4); justify-items: center; }

/* 飞入购物车 */
.mu-fly { position: fixed; z-index: var(--z-cursor); width: 72px; height: 90px; border-radius: var(--radius-img); overflow: hidden; pointer-events: none; box-shadow: var(--shadow-pop); }
.mu-fly img { width: 100%; height: 100%; object-fit: cover; }

/* 页脚 */
.mu-footer { position: relative; overflow: hidden; }
.mu-footer__top { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: var(--space-7); padding-bottom: var(--space-8); }
.mu-footer__col h4 { margin: 0 0 var(--space-4); }
.mu-footer__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; color: var(--muted); }
.mu-footer__col a:hover { color: var(--text); }
.mu-footer__news { display: grid; gap: var(--space-4); max-width: 420px; }
.mu-footer__form { display: flex; gap: 8px; }
.mu-footer__wordmark {
  font-family: var(--font-heading); font-weight: var(--display-weight); text-transform: var(--h-case); font-variation-settings: var(--h-variation);
  font-size: clamp(5rem, 22vw, 22rem); line-height: 0.78; letter-spacing: -0.04em; text-align: center; margin: 0; user-select: none;
  background: linear-gradient(180deg, var(--text) 30%, transparent 105%); -webkit-background-clip: text; background-clip: text; color: transparent;
}
[data-style="atelier"] .mu-footer__wordmark { letter-spacing: 0.04em; font-weight: 400; }
.mu-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-4); padding-top: var(--space-6); border-top: 1px solid var(--border); color: var(--muted); font-size: var(--type-small); }
.mu-pay { display: flex; gap: 8px; }
.mu-pay span { height: 26px; padding: 0 8px; border: 1px solid var(--border); border-radius: 4px; display: grid; place-items: center; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; color: var(--text); }
@media (max-width: 899px) { .mu-footer__top { grid-template-columns: 1fr 1fr; } .mu-footer__news { grid-column: 1 / -1; } }

/* ---------- ⑤ 展示组件 ---------- */
/* 首屏 */
.mu-hero { position: relative; min-height: 100svh; display: grid; align-items: end; overflow: hidden; isolation: isolate; color: #fff; }
.mu-hero__media { position: absolute; inset: 0; z-index: -1; border-radius: 0; }
.mu-hero__media img { transform: scale(1.12); }
.mu-hero__media img.is-loaded { transform: scale(1); transition: opacity 1200ms ease, transform 2400ms var(--ease-out); }
.mu-hero__media .mu-media__overlay { background: linear-gradient(180deg, rgba(0, 0, 0, 0.32) 0%, transparent 30%, transparent 45%, rgba(0, 0, 0, var(--hero-overlay, 0.55)) 100%); }
.mu-hero__content { padding-bottom: clamp(48px, 9vh, 120px); padding-top: 160px; display: grid; gap: var(--space-5); }
.mu-hero__content[data-align="center"] { justify-items: center; text-align: center; }
.mu-hero__title { max-width: 14ch; }
.mu-hero__sub { max-width: 46ch; color: rgba(255, 255, 255, 0.86); font-size: var(--type-body-lg); margin: 0; }
.mu-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-2); }
.mu-hero .mu-btn--primary { --primary: #fff; --on-primary: #111; }
[data-style="nova"] .mu-hero .mu-btn--primary { --primary: linear-gradient(100deg, #A78BFA, #67E8F9); --on-primary: #0A0C12; }
[data-style="pulse"] .mu-hero .mu-btn--primary { --primary: #D4FF3F; --on-primary: #0A0A0A; border-color: #0A0A0A; }
.mu-hero .mu-btn--secondary { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
[data-style="atelier"] .mu-hero .mu-btn--secondary:hover { background: #fff; color: #141414; }
.mu-hero__scroll { position: absolute; right: var(--page-edge); bottom: 36px; display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; writing-mode: vertical-rl; }
.mu-hero__scroll::after { content: ""; width: 1px; height: 64px; background: linear-gradient(currentColor, transparent); animation: mu-scrollcue 2.4s var(--ease-standard) infinite; transform-origin: top; }
@keyframes mu-scrollcue { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }
@media (max-width: 749px) { .mu-hero__scroll { display: none; } }

/* 跑马灯 */
.mu-marquee { overflow: hidden; border-block: var(--border-w) solid var(--border); padding-block: 22px; --mq-speed: 32s; }
.mu-marquee[data-tilt] { transform: rotate(-2deg) scale(1.04); margin-block: 24px; }
.mu-marquee__track { display: flex; width: max-content; animation: mu-marquee var(--mq-speed) linear infinite; }
.mu-marquee:hover .mu-marquee__track { animation-play-state: paused; }
.mu-marquee__group { display: flex; align-items: center; gap: 48px; padding-right: 48px; font-family: var(--font-heading); font-size: clamp(2rem, 1.2rem + 3vw, 4.5rem); font-weight: var(--h-weight); line-height: 1; text-transform: var(--h-case); letter-spacing: var(--h-tracking); font-variation-settings: var(--h-variation); white-space: nowrap; }
.mu-marquee__group svg { width: 0.6em; height: 0.6em; color: var(--accent); flex: none; }
.mu-marquee__ghost { -webkit-text-stroke: 1px var(--text); color: transparent; }
@keyframes mu-marquee { to { transform: translateX(-50%); } }

/* 穿越式大标题（招牌） */
.mu-zoom { position: relative; height: 260vh; }
.mu-zoom__stage { position: sticky; top: 0; height: 100vh; overflow: hidden; display: grid; place-items: center; background: var(--bg); }
.mu-zoom__word {
  font-family: var(--font-heading); font-weight: 900; font-size: clamp(6rem, 24vw, 26rem); line-height: 0.8; letter-spacing: -0.05em; text-transform: uppercase;
  font-variation-settings: var(--h-variation); white-space: nowrap; transform: scale(var(--zs, 1)); transform-origin: var(--zo, 50% 50%);
  background-image: var(--zoom-img); background-size: cover; background-position: center; -webkit-background-clip: text; background-clip: text; color: transparent;
  will-change: transform;
}
[data-style="atelier"] .mu-zoom__word, [data-style="terra"] .mu-zoom__word { font-weight: 600; letter-spacing: -0.03em; }
.mu-zoom__reveal { position: absolute; inset: 0; opacity: var(--zr, 0); background-image: var(--zoom-img); background-size: cover; background-position: center; }
.mu-zoom__caption { position: absolute; left: 50%; bottom: 10vh; transform: translateX(-50%); text-align: center; display: grid; gap: 12px; justify-items: center; color: #fff; opacity: var(--zr, 0); text-shadow: 0 2px 30px rgba(0, 0, 0, 0.4); }
.mu-zoom__hint { position: absolute; top: 12vh; left: 50%; transform: translateX(-50%); color: var(--muted); opacity: calc(1 - var(--zp, 0) * 4); }

/* 精选商品网格 */
.mu-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-7) var(--gutter); }
@media (max-width: 999px) { .mu-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--gutter); } }

/* 商品卡（全局设置 ⑥） */
.mu-card { position: relative; display: grid; gap: var(--space-4); transform-style: preserve-3d; perspective: 900px; }
.mu-card__media { position: relative; --ratio: var(--card-ratio, 4 / 5); border-radius: var(--radius-card); transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform 400ms var(--ease-out), box-shadow 400ms var(--ease-out); }
[data-style="pulse"] .mu-card__media { border: 2px solid var(--text); }
[data-style="pulse"] .mu-card:hover .mu-card__media { box-shadow: 6px 6px 0 var(--text); transform: translate(-3px, -3px); }
[data-style="terra"] .mu-card__media { box-shadow: var(--shadow-card); }
[data-style="nova"] .mu-card__media { box-shadow: var(--shadow-card); background: radial-gradient(120% 80% at 50% 0%, #1E2333, #10131C); }
.mu-card__media img { position: absolute; inset: 0; }
.mu-card__img2 { opacity: 0 !important; transform: scale(1.06); transition: opacity 600ms ease, transform 1200ms var(--ease-out) !important; }
.mu-card:hover .mu-card__img2.is-loaded { opacity: 1 !important; transform: none; }
.mu-card:hover .mu-card__img1 { transform: scale(var(--img-hover-scale)); }
.mu-card__glare { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, 0.35), transparent 50%); opacity: 0; transition: opacity 300ms ease; mix-blend-mode: soft-light; }
.mu-card.is-tilting .mu-card__glare { opacity: 1; }
.mu-card__badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; z-index: 2; }
.mu-card__quick {
  position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; transform: translateY(calc(100% + 16px)); opacity: 0;
  transition: transform 500ms var(--ease-out), opacity 300ms ease;
}
.mu-card:hover .mu-card__quick, .mu-card:focus-within .mu-card__quick { transform: none; opacity: 1; }
.mu-card__quick .mu-btn { width: 100%; --primary: var(--bg); --on-primary: var(--text); backdrop-filter: blur(10px); }
[data-style="nova"] .mu-card__quick .mu-btn { --primary: rgba(10, 12, 18, 0.7); --on-primary: #fff; border: 1px solid rgba(255, 255, 255, 0.18); }
@media (hover: none) { .mu-card__quick { display: none; } }
.mu-card__info { display: grid; gap: 6px; }
.mu-card__row { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.mu-card__vendor { color: var(--muted); }
.mu-card__title { font-size: var(--type-body); font-weight: 600; margin: 0; }
[data-style="atelier"] .mu-card__title { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 500; }
[data-style="pulse"] .mu-card__title { text-transform: uppercase; font-weight: 800; letter-spacing: -0.01em; }
.mu-price { font-variant-numeric: tabular-nums; white-space: nowrap; display: inline-flex; gap: 8px; align-items: baseline; }
.mu-price s { color: var(--muted); font-size: 0.9em; }
.mu-price__sale { color: var(--text); }
.mu-swatches { display: flex; gap: 6px; }
.mu-swatch { width: 16px; height: 16px; border-radius: 999px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12); outline: 1px solid transparent; outline-offset: 2px; transition: outline-color 200ms ease, transform 300ms var(--ease-spring); }
.mu-swatch:hover, .mu-swatch.is-active { outline-color: var(--text); transform: scale(1.1); }

/* 滚动讲故事 */
.mu-story { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-9); }
.mu-story__steps { display: grid; }
.mu-story__step { min-height: 80vh; display: grid; align-content: center; gap: var(--space-4); opacity: 0.25; transition: opacity 600ms ease; }
.mu-story__step.is-active { opacity: 1; }
.mu-story__num { font-family: var(--font-heading); font-size: var(--type-h4); color: var(--accent); font-variant-numeric: tabular-nums; }
.mu-story__visual { position: sticky; top: 12vh; height: 76vh; }
.mu-story__visual .mu-media { position: absolute; inset: 0; clip-path: inset(0 0 0 0 round var(--radius-img)); }
.mu-story__visual .mu-media { transition: clip-path 1100ms var(--ease-out), opacity 600ms ease; }
.mu-story__visual .mu-media:not(.is-active) { clip-path: inset(100% 0 0 0 round var(--radius-img)); }
@media (max-width: 899px) {
  .mu-story { grid-template-columns: 1fr; gap: 0; }
  .mu-story__visual { top: 70px; height: 46vh; order: -1; z-index: 1; }
  .mu-story__step { min-height: 60vh; }
}

/* 横向叙事 */
.mu-hscroll { position: relative; height: var(--hs-height, 300vh); }
.mu-hscroll__stage { position: sticky; top: 0; height: 100vh; overflow: hidden; display: grid; align-content: center; gap: var(--space-6); }
.mu-hscroll__track { display: flex; gap: var(--gutter); padding-inline: var(--page-edge); width: max-content; transform: translateX(var(--hx, 0px)); will-change: transform; }
.mu-hscroll__card { width: clamp(280px, 34vw, 520px); display: grid; gap: var(--space-4); }
.mu-hscroll__card .mu-media { --ratio: 4 / 5; }
.mu-hscroll__card:nth-child(even) { margin-top: 12vh; }
.mu-hscroll__intro { width: clamp(280px, 30vw, 440px); display: grid; align-content: center; gap: var(--space-4); padding-right: var(--space-7); }
.mu-hscroll__bar { margin-inline: var(--page-edge); height: 2px; background: var(--border); }
.mu-hscroll__bar > span { display: block; height: 100%; width: var(--hp, 0%); background: var(--text); }

/* Lookbook 买同款 */
.mu-look { position: relative; }
.mu-look .mu-media { --ratio: 16 / 9; }
@media (max-width: 749px) { .mu-look .mu-media { --ratio: 4 / 5; } }
.mu-hotspot { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); z-index: 2; }
.mu-hotspot__dot { width: 28px; height: 28px; border-radius: 999px; background: #fff; display: grid; place-items: center; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25); position: relative; }
.mu-hotspot__dot::before { content: ""; position: absolute; inset: -8px; border-radius: inherit; border: 1.5px solid #fff; animation: mu-ping 2.2s var(--ease-out) infinite; }
.mu-hotspot__dot::after { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #111; transition: transform 300ms var(--ease-spring); }
.mu-hotspot.is-open .mu-hotspot__dot::after { transform: scale(1.6); }
@keyframes mu-ping { 0% { transform: scale(0.6); opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }
.mu-hotspot__card {
  position: absolute; left: 50%; bottom: calc(100% + 16px); width: 260px; padding: 12px; border-radius: var(--radius-card);
  background: var(--bg); color: var(--text); box-shadow: var(--shadow-pop); display: grid; grid-template-columns: 72px 1fr; gap: 12px;
  transform: translate(-50%, 8px) scale(0.96); opacity: 0; visibility: hidden; transition: all 350ms var(--ease-out);
}
[data-style="pulse"] .mu-hotspot__card { border: 2px solid var(--text); }
.mu-hotspot.is-open .mu-hotspot__card { transform: translate(-50%, 0) scale(1); opacity: 1; visibility: visible; }
.mu-hotspot__card .mu-media { --ratio: 4 / 5; border-radius: calc(var(--radius-card) * 0.6); }
.mu-hotspot__card .mu-btn { margin-top: 6px; }

/* 图片对比 */
.mu-compare { position: relative; overflow: hidden; border-radius: var(--radius-img); aspect-ratio: 16 / 9; user-select: none; touch-action: pan-y; cursor: ew-resize; --pos: 50%; }
@media (max-width: 749px) { .mu-compare { aspect-ratio: 4 / 5; } }
.mu-compare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mu-compare__after { clip-path: inset(0 0 0 var(--pos)); }
.mu-compare__before img { filter: grayscale(1) contrast(1.15) brightness(1.05); }
.mu-compare__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; background: #fff; transform: translateX(-1px); }
.mu-compare__knob { position: absolute; top: 50%; left: 50%; width: 56px; height: 56px; border-radius: 999px; background: #fff; color: #111; display: grid; place-items: center; transform: translate(-50%, -50%); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3); }
.mu-compare__tag { position: absolute; top: 20px; padding: 6px 12px; border-radius: 999px; background: rgba(0, 0, 0, 0.5); color: #fff; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; backdrop-filter: blur(6px); }
.mu-compare__tag--l { left: 20px; } .mu-compare__tag--r { right: 20px; }

/* 叠卡滚动 */
.mu-stack { display: grid; gap: 0; }
.mu-stack__card {
  position: sticky; top: calc(90px + var(--i) * 28px); min-height: 72vh; margin-bottom: 8vh; border-radius: var(--radius-card); overflow: hidden;
  display: grid; grid-template-columns: 1.1fr 1fr; transform-origin: top center; transform: scale(var(--sc, 1)); box-shadow: var(--shadow-pop);
}
[data-style="pulse"] .mu-stack__card { border: 2px solid var(--text); box-shadow: 8px 8px 0 var(--text); }
.mu-stack__card .mu-media { border-radius: 0; height: 100%; }
.mu-stack__text { padding: clamp(28px, 5vw, 72px); display: grid; align-content: space-between; gap: var(--space-6); }
.mu-stack__index { font-family: var(--font-heading); font-size: var(--type-display); line-height: 0.8; color: var(--accent); opacity: 0.9; }
@media (max-width: 899px) { .mu-stack__card { grid-template-columns: 1fr; top: calc(70px + var(--i) * 16px); } .mu-stack__card .mu-media { aspect-ratio: 16 / 10; height: auto; } }

/* 聚光揭示 */
.mu-spot { position: relative; height: 92vh; overflow: hidden; border-radius: var(--radius-img); cursor: none; --sx: 50%; --sy: 50%; --sr: 0px; }
@media (hover: none) { .mu-spot { cursor: auto; } }
.mu-spot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mu-spot__dark { filter: brightness(0.22) saturate(0.6) contrast(1.1); }
.mu-spot__lit { -webkit-mask-image: radial-gradient(circle var(--sr) at var(--sx) var(--sy), #000 0%, #000 55%, transparent 100%); mask-image: radial-gradient(circle var(--sr) at var(--sx) var(--sy), #000 0%, #000 55%, transparent 100%); }
.mu-spot__text { position: absolute; left: var(--page-edge); bottom: 8vh; color: #fff; display: grid; gap: var(--space-3); pointer-events: none; max-width: 520px; }

/* 流体光影 CTA */
.mu-fluid { position: relative; overflow: hidden; border-radius: var(--radius-card); min-height: 72vh; display: grid; place-items: center; text-align: center; isolation: isolate; }
.mu-fluid canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.mu-fluid__fallback { position: absolute; inset: 0; z-index: -2; background: radial-gradient(60% 60% at 30% 30%, var(--fl-a, #A78BFA), transparent), radial-gradient(60% 60% at 70% 70%, var(--fl-b, #67E8F9), transparent), var(--fl-c, #0A0C12); }
.mu-fluid__content { display: grid; gap: var(--space-5); justify-items: center; padding: var(--space-8) var(--page-edge); max-width: 760px; color: #fff; }
.mu-fluid__form { display: flex; gap: 8px; width: min(460px, 100%); }
.mu-fluid__form .mu-input { background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.35); color: #fff; backdrop-filter: blur(10px); padding-inline: 16px; border-radius: var(--radius-btn); }
[data-style="atelier"] .mu-fluid__form .mu-input { border-width: 1px; }
.mu-fluid__form .mu-input::placeholder { color: rgba(255, 255, 255, 0.7); }
.mu-fluid .mu-btn--primary { --primary: #fff; --on-primary: #111; }

/* 数字亮点 */
.mu-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gutter); }
@media (max-width: 749px) { .mu-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-7); } }
.mu-stat { display: grid; gap: var(--space-2); padding-top: var(--space-5); border-top: var(--border-w) solid var(--border); }
.mu-stat__num { font-family: var(--font-heading); font-size: var(--type-h1); font-weight: var(--h-weight); line-height: 1; letter-spacing: var(--h-tracking); font-variant-numeric: tabular-nums; font-variation-settings: var(--h-variation); }

/* 评价 */
.mu-quotes { position: relative; display: grid; }
.mu-quote { grid-area: 1 / 1; display: grid; gap: var(--space-6); justify-items: center; text-align: center; opacity: 0; transform: translateY(16px); transition: opacity 700ms ease, transform 900ms var(--ease-out); pointer-events: none; }
.mu-quote.is-active { opacity: 1; transform: none; pointer-events: auto; }
.mu-quote blockquote { margin: 0; font-family: var(--font-heading); font-size: var(--type-h2); line-height: 1.2; max-width: 22ch; letter-spacing: var(--h-tracking); text-transform: var(--h-case); font-weight: var(--h-weight); font-variation-settings: var(--h-variation); }
[data-style="pulse"] .mu-quote blockquote { font-size: var(--type-h3); }
.mu-quotes__nav { display: flex; gap: 10px; justify-content: center; margin-top: var(--space-7); }
.mu-dot { width: 28px; height: 3px; border-radius: 3px; background: var(--border); transition: background 300ms ease, width 400ms var(--ease-out); }
.mu-dot.is-active { background: var(--text); width: 48px; }
.mu-demo-tag { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: 0.02em; background: color-mix(in srgb, var(--accent) 22%, transparent); color: var(--text); }

/* 网格放大转场（招牌） */
.mu-gridx { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 14vw; gap: var(--gutter); }
.mu-gridx__item { position: relative; cursor: zoom-in; border-radius: var(--radius-img); overflow: hidden; }
.mu-gridx__item .mu-media { position: absolute; inset: 0; }
.mu-gridx__item:nth-child(1) { grid-column: span 3; grid-row: span 2; }
.mu-gridx__item:nth-child(2) { grid-column: span 3; }
.mu-gridx__item:nth-child(3) { grid-column: span 2; grid-row: span 2; }
.mu-gridx__item:nth-child(4) { grid-column: span 1; }
.mu-gridx__item:nth-child(5) { grid-column: span 2; }
.mu-gridx__item:nth-child(6) { grid-column: span 2; }
.mu-gridx__item:hover img { transform: scale(var(--img-hover-scale)); }
.mu-gridx__cap { position: absolute; left: 14px; bottom: 12px; color: #fff; font-size: 13px; font-weight: 600; text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5); }
@media (max-width: 749px) { .mu-gridx { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 40vw; } .mu-gridx__item { grid-column: span 1 !important; grid-row: span 1 !important; } .mu-gridx__item:first-child { grid-column: span 2 !important; grid-row: span 2 !important; } }
.mu-lightbox { position: fixed; inset: 0; z-index: var(--z-overlay); background: rgba(10, 10, 10, 0.92); display: grid; place-items: center; padding: 4vh 4vw; cursor: zoom-out; opacity: 0; visibility: hidden; }
.mu-lightbox.is-open { opacity: 1; visibility: visible; }
.mu-lightbox img { max-height: 86vh; width: auto; border-radius: var(--radius-img); view-transition-name: mu-expand; }
.mu-lightbox figcaption { color: #fff; margin-top: 16px; text-align: center; }
::view-transition-group(mu-expand) { animation-duration: 650ms; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
::view-transition-group(mu-product-hero) { animation-duration: 700ms; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
@view-transition { navigation: auto; }

/* ---------- ⑦ 商品页 ---------- */
.mu-crumbs { display: flex; gap: 8px; color: var(--muted); font-size: var(--type-small); padding-block: var(--space-5); }
.mu-crumbs a:hover { color: var(--text); }
.mu-pdp { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 96px); align-items: start; }
.mu-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mu-gallery__item { position: relative; cursor: zoom-in; }
.mu-gallery__item .mu-media { --ratio: 4 / 5; }
.mu-gallery__item:first-child { grid-column: 1 / -1; }
.mu-gallery__item:first-child .mu-media { --ratio: 1 / 1; view-transition-name: mu-product-hero; }
.mu-gallery__item.is-hidden { display: none; }
.mu-gallery__tag { position: absolute; top: 14px; left: 14px; z-index: 2; }
.mu-gallery__3d { position: relative; aspect-ratio: 4 / 5; border-radius: var(--radius-img); overflow: hidden; background: radial-gradient(90% 70% at 50% 40%, var(--surface), var(--bg)); }
.mu-gallery__3d model-viewer { width: 100%; height: 100%; --poster-color: transparent; }
.mu-gallery__3d-hint { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); display: inline-flex; gap: 8px; align-items: center; padding: 8px 14px; border-radius: 999px; background: color-mix(in srgb, var(--bg) 80%, transparent); backdrop-filter: blur(8px); font-size: 12px; pointer-events: none; }
@media (max-width: 899px) {
  .mu-pdp { grid-template-columns: 1fr; }
  .mu-gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 8px; margin-inline: calc(-1 * var(--page-edge)); padding-inline: var(--page-edge); scrollbar-width: none; }
  .mu-gallery__item, .mu-gallery__3d { flex: 0 0 86%; scroll-snap-align: start; }
}
.mu-buy { position: sticky; top: 96px; display: grid; gap: var(--space-5); padding-bottom: var(--space-6); }
.mu-buy__head { display: grid; gap: var(--space-3); }
.mu-buy__price { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: var(--type-h4); }
.mu-buy__price .mu-price { font-size: inherit; }
.mu-rating { display: inline-flex; align-items: center; gap: 8px; font-size: var(--type-small); color: var(--muted); }
.mu-stars { display: inline-flex; gap: 2px; color: var(--text); }
.mu-stars svg { width: 14px; height: 14px; fill: currentColor; stroke: none; }
.mu-opt { display: grid; gap: 12px; }
.mu-opt__head { display: flex; justify-content: space-between; align-items: baseline; font-size: var(--type-small); }
.mu-opt__head b { font-weight: 600; }
.mu-opt__values { display: flex; flex-wrap: wrap; gap: 10px; }
.mu-color { width: 40px; height: 40px; border-radius: 999px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12); outline: 1.5px solid transparent; outline-offset: 3px; transition: outline-color 200ms ease, transform 300ms var(--ease-spring); }
.mu-color:hover { transform: scale(1.06); }
.mu-color.is-active { outline-color: var(--text); }
[data-style="pulse"] .mu-color { border-radius: 0; box-shadow: inset 0 0 0 2px #0A0A0A; }
.mu-size { min-width: 64px; height: 46px; padding: 0 16px; border: var(--border-w) solid var(--border); border-radius: var(--radius-btn); font-size: var(--type-small); font-weight: 600; transition: border-color 200ms ease, background 200ms ease, color 200ms ease; }
.mu-size:hover { border-color: var(--text); }
.mu-size.is-active { background: var(--text); color: var(--bg); border-color: var(--text); }
.mu-size.is-soldout { color: var(--muted); text-decoration: line-through; border-style: dashed; }
.mu-buy__actions { display: grid; grid-template-columns: auto 1fr; gap: 10px; }
.mu-buy__actions .mu-qty { margin: 0; height: 56px; }
.mu-buy__actions .mu-qty button { width: 44px; }
.mu-buy__actions .mu-btn--secondary { grid-column: 1 / -1; }
.mu-buy__perks { display: grid; gap: 10px; padding: var(--space-4) 0; border-block: 1px solid var(--border); font-size: var(--type-small); }
.mu-buy__perk { display: flex; gap: 12px; align-items: center; }
.mu-acc { border-bottom: 1px solid var(--border); }
.mu-acc summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 18px 0; cursor: pointer; font-weight: 600; }
.mu-acc summary::-webkit-details-marker { display: none; }
.mu-acc summary .mu-icon { transition: transform 400ms var(--ease-out); }
.mu-acc[open] summary .mu-icon { transform: rotate(45deg); }
.mu-acc__body { padding-bottom: 18px; color: var(--muted); display: grid; gap: 10px; }
.mu-sync { transition: background-color 900ms var(--ease-standard); }
body[data-color-sync] .mu-sync { background: color-mix(in srgb, var(--sync) 14%, var(--bg)); }
body[data-color-sync] .mu-buy .mu-btn--primary { box-shadow: 0 0 0 0 transparent; }

.mu-sticky-atc {
  position: fixed; left: 50%; bottom: 20px; z-index: calc(var(--z-header) - 1); width: min(880px, calc(100% - 24px)); transform: translate(-50%, calc(100% + 40px));
  display: grid; grid-template-columns: 56px 1fr auto auto; gap: 16px; align-items: center; padding: 10px 10px 10px 12px;
  background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: calc(var(--radius-card) + 6px); box-shadow: var(--shadow-pop);
  transition: transform 600ms var(--ease-out);
}
[data-style="pulse"] .mu-sticky-atc { border: 2px solid var(--text); box-shadow: 6px 6px 0 var(--text); }
[data-style="nova"] .mu-sticky-atc { background: rgba(18, 22, 33, 0.82); backdrop-filter: blur(16px); }
.mu-sticky-atc.is-visible { transform: translate(-50%, 0); }
.mu-sticky-atc .mu-media { --ratio: 1; border-radius: calc(var(--radius-card) * 0.6); }
@media (max-width: 749px) { .mu-sticky-atc { bottom: 0; width: 100%; border-radius: 0; grid-template-columns: 44px 1fr auto; } .mu-sticky-atc__price { display: none; } }

.mu-sheet { position: fixed; top: 0; right: 0; bottom: 0; z-index: var(--z-drawer); width: min(560px, 100vw); background: var(--bg); color: var(--text); padding: var(--space-6); overflow: auto; transform: translateX(105%); transition: transform 600ms var(--ease-out); box-shadow: var(--shadow-pop); }
.mu-sheet.is-open { transform: none; }
.mu-table { width: 100%; border-collapse: collapse; font-size: var(--type-small); }
.mu-table th, .mu-table td { text-align: left; padding: 12px 8px; border-bottom: 1px solid var(--border); }
.mu-table th { color: var(--muted); font-weight: 500; }

.mu-bundle { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--space-7); align-items: center; }
.mu-bundle__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gutter); position: relative; }
.mu-bundle__item { display: grid; gap: 12px; position: relative; }
.mu-bundle__item .mu-media { --ratio: 4 / 5; transition: opacity 300ms ease, filter 300ms ease; }
.mu-bundle__item.is-off .mu-media { opacity: 0.35; filter: grayscale(1); }
.mu-bundle__check { position: absolute; top: 12px; right: 12px; z-index: 2; width: 28px; height: 28px; border-radius: 999px; background: var(--bg); display: grid; place-items: center; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15); }
.mu-bundle__check svg { opacity: 0; transform: scale(0.5); transition: all 300ms var(--ease-spring); }
.mu-bundle__item:not(.is-off) .mu-bundle__check { background: var(--text); color: var(--bg); }
.mu-bundle__item:not(.is-off) .mu-bundle__check svg { opacity: 1; transform: none; }
.mu-bundle__plus { position: absolute; top: 40%; width: 32px; height: 32px; border-radius: 999px; background: var(--bg); border: 1px solid var(--border); display: grid; place-items: center; transform: translate(-50%, -50%); z-index: 2; }
.mu-bundle__sum { display: grid; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); }
.mu-bundle__total { font-family: var(--font-heading); font-size: var(--type-h2); font-weight: var(--h-weight); line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: var(--h-tracking); }
.mu-rolling { display: inline-block; transition: transform 400ms var(--ease-out), opacity 300ms ease; }
.mu-rolling.is-rolling { transform: translateY(-30%); opacity: 0; }
@media (max-width: 899px) { .mu-bundle { grid-template-columns: 1fr; } }

.mu-split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-9); align-items: center; }
.mu-split[data-reverse] > :first-child { order: 2; }
.mu-split .mu-media { --ratio: 4 / 5; }
@media (max-width: 899px) { .mu-split { grid-template-columns: 1fr; gap: var(--space-6); } .mu-split[data-reverse] > :first-child { order: 0; } }

.mu-rail { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(220px, 23%, 320px); gap: var(--gutter); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; scrollbar-width: thin; }
.mu-rail > * { scroll-snap-align: start; }

/* ---------- ⑧ 动效层 ---------- */
.mu-js [data-reveal] { transition: opacity calc(var(--m-dur) * var(--m-speed, 1)) var(--m-ease), transform calc(var(--m-dur) * var(--m-speed, 1)) var(--m-ease), filter calc(var(--m-dur) * var(--m-speed, 1)) var(--m-ease), clip-path calc(var(--m-dur) * var(--m-speed, 1) * 1.2) var(--ease-out); transition-delay: var(--d, 0ms); }
.mu-js [data-reveal]:not(.is-in) { opacity: 0; transform: translateY(var(--m-dist)) scale(var(--m-scale)) skewY(var(--m-skew)); filter: blur(var(--m-blur)); }
.mu-js [data-reveal="fade"]:not(.is-in), .mu-js [data-entrance="fade"] [data-reveal]:not(.is-in) { transform: none; filter: none; }
.mu-js [data-reveal="scale"]:not(.is-in), .mu-js [data-entrance="scale"] [data-reveal]:not(.is-in) { transform: scale(0.94); filter: none; }
.mu-js [data-reveal="mask"]:not(.is-in), .mu-js [data-entrance="mask"] [data-reveal]:not(.is-in) { opacity: 1; transform: none; filter: none; clip-path: inset(0 0 100% 0); }
.mu-js [data-entrance="up"] [data-reveal]:not(.is-in) { transform: translateY(var(--m-dist)); filter: none; }
.mu-js [data-entrance="none"] [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; transition: none !important; }
[data-speed="slow"] { --m-speed: 1.6; }
[data-speed="fast"] { --m-speed: 0.6; }
[data-reveal].is-in { opacity: 1; transform: none; filter: none; clip-path: inset(0 0 0 0); }
.mu-fallback [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
.mu-split-text .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.mu-split-text .wi { display: inline-block; transform: translateY(105%) rotate(var(--wr, 0deg)); transition: transform calc(var(--m-dur) * var(--m-speed, 1) * 1.1) var(--ease-out); transition-delay: calc(var(--d, 0ms) + var(--i) * 70ms); }
[data-style="pulse"] .mu-split-text .wi { --wr: 6deg; }
.mu-split-text.is-in .wi { transform: none; }
[data-reveal].mu-split-text, .mu-js .mu-split-text[data-reveal]:not(.is-in) { opacity: 1; transform: none; filter: none; clip-path: none; }
[data-parallax] { will-change: transform; }
.mu-progressbar { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: calc(var(--z-header) + 2); transform-origin: left; transform: scaleX(var(--sp, 0)); background: var(--accent); pointer-events: none; }
[data-style="nova"] .mu-progressbar { background: linear-gradient(90deg, #A78BFA, #67E8F9); }
.mu-totop { position: fixed; right: 20px; bottom: 96px; z-index: calc(var(--z-header) - 2); width: 48px; height: 48px; border-radius: 999px; background: var(--bg); color: var(--text); border: 1px solid var(--border); display: grid; place-items: center; box-shadow: var(--shadow-card); opacity: 0; transform: translateY(12px); transition: all 400ms var(--ease-out); pointer-events: none; }
.mu-totop.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.mu-cursor { position: fixed; top: 0; left: 0; z-index: var(--z-cursor); pointer-events: none; width: 12px; height: 12px; border-radius: 999px; background: var(--text); transform: translate(-50%, -50%); transition: width 400ms var(--ease-out), height 400ms var(--ease-out), background 300ms ease; display: grid; place-items: center; mix-blend-mode: difference; }
.mu-cursor span { opacity: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #000; transition: opacity 200ms ease; }
.mu-cursor.is-view { width: 92px; height: 92px; background: #fff; mix-blend-mode: difference; }
.mu-cursor.is-view span { opacity: 1; }
.mu-cursor.is-spot { width: 0; height: 0; }
html:not([data-cursor="on"]) .mu-cursor { display: none; }
@media (hover: none) { .mu-cursor { display: none; } }

/* 动效档位与减少动态 */
html[data-motion-level="0"] [data-reveal], html[data-reduced] [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; transition: opacity 400ms ease !important; }
html[data-motion-level="0"] .mu-split-text .wi, html[data-reduced] .mu-split-text .wi { transform: none !important; transition: none !important; }
html[data-motion-level="0"] .mu-marquee__track, html[data-reduced] .mu-marquee__track { animation-play-state: paused; }
html[data-motion-level="1"] [data-reveal] { transform: translateY(calc(var(--m-dist) * 0.5)); filter: none; }
html[data-motion-level="1"] [data-reveal].is-in { transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
  .mu-split-text .wi { transform: none !important; }
  .mu-marquee__track { animation: none; }
}

/* ---------- ⑨ 提示条（加购成功等） ---------- */
.mu-toast { position: fixed; left: 50%; top: 24px; z-index: var(--z-cursor); transform: translate(-50%, -150%); padding: 12px 18px; border-radius: 999px; background: var(--text); color: var(--bg); font-size: var(--type-small); font-weight: 600; box-shadow: var(--shadow-pop); transition: transform 500ms var(--ease-spring); display: inline-flex; gap: 10px; align-items: center; }
.mu-toast.is-visible { transform: translate(-50%, 0); }

/* ---------- ⑨ 编辑器模式（<html data-design-mode>，只在装修预览里出现） ---------- */
html[data-design-mode] { --sc-color-primary: #7C5CFF; }
.mu-editor-hint { display: none; }
/* 编辑器提示条不套模块的大留白（公告栏等没填内容时，提示只占一条细窄的位置；店铺页面上整块不输出）。 */
.mu-section.mu-editor-note { padding-block: 8px; }
html[data-design-mode] .mu-editor-hint { display: block; margin: 0; padding: 14px 16px; border: 1.5px dashed #7C5CFF; border-radius: 10px; background: rgba(124, 92, 255, 0.06); color: #4B3AAE; font: 500 13px/1.5 "Inter", system-ui, sans-serif; letter-spacing: 0; text-transform: none; }
html[data-design-mode] .mu-hotspot.is-empty { display: block; }
html[data-design-mode] .mu-hotspot.is-empty .mu-hotspot__dot { background: transparent; border: 2px dashed #fff; }
html[data-design-mode] .mu-cursor { display: none !important; }

/* ---------- ⑩ 组件补充 ---------- */
/* 通用小件 */
.mu-skip { position: absolute; left: 12px; top: -60px; z-index: calc(var(--z-cursor) + 1); padding: 10px 16px; border-radius: 8px; background: var(--text); color: var(--bg); font-weight: 600; transition: top 200ms ease; }
.mu-skip:focus { top: 12px; }
.mu-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mu-hide-sm { }
@media (max-width: 749px) { .mu-hide-sm { display: none !important; } }
.mu-hr { border: 0; border-top: 1px solid var(--border); margin: var(--space-2) 0; width: 100%; }
.mu-rte > :first-child { margin-top: 0; }
.mu-rte > :last-child { margin-bottom: 0; }
.mu-rte p { margin: 0 0 0.9em; }
.mu-rte a { text-decoration: underline; text-underline-offset: 0.2em; }
.mu-rte ul, .mu-rte ol { margin: 0 0 0.9em; padding-left: 1.2em; }
.mu-rte li + li { margin-top: 0.3em; }
.mu-rte h2, .mu-rte h3, .mu-rte h4 { font-family: var(--font-heading); font-weight: var(--h-weight); letter-spacing: var(--h-tracking); line-height: 1.15; margin: 1.4em 0 0.5em; }
.mu-rte img { border-radius: var(--radius-img); height: auto; }
.mu-alert { padding: 12px 16px; border-radius: var(--radius-input); border: 1px solid color-mix(in srgb, #C0392B 40%, transparent); background: color-mix(in srgb, #C0392B 8%, transparent); color: inherit; margin: var(--space-4) 0; }
.mu-select { appearance: none; min-height: 40px; padding: 0 36px 0 14px; border-radius: var(--radius-input); border: 1px solid var(--border); background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; color: var(--text); }
.mu-check { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.mu-check input { width: 16px; height: 16px; accent-color: var(--text); }
.mu-stars { display: inline-flex; gap: 2px; color: var(--border); }
.mu-stars .is-on { color: var(--text); }
.mu-stars .mu-icon { fill: currentColor; stroke: none; }
.sc-bp-mobile { display: none; }
@media (max-width: 767px) { .sc-bp-desktop { display: none !important; } .sc-bp-mobile { display: block; } }
body { overflow-x: clip; }
body.mu-lock { overflow: hidden; }

/* 按钮悬停（全局设置 ⑤ 覆盖风格默认） */
html[data-btn-hover] .mu-btn--primary::before, html[data-btn-hover] .mu-btn--primary::after { content: none; }
html[data-btn-hover] .mu-btn--primary:hover, html[data-btn-hover] .mu-btn--secondary:hover { transform: none; box-shadow: none; }
html[data-btn-hover="sweep"] .mu-btn--primary::before { content: ""; position: absolute; inset: 0; background: var(--accent); transform: scaleX(0); transform-origin: right; transition: transform 600ms var(--ease-out); z-index: 0; }
html[data-btn-hover="sweep"] .mu-btn--primary:hover::before { transform: scaleX(1); transform-origin: left; }
html[data-btn-hover="lift"] .mu-btn--primary:hover, html[data-btn-hover="lift"] .mu-btn--secondary:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18); }
html[data-btn-hover="shine"] .mu-btn--primary::after { content: ""; position: absolute; inset: -2px; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.6) 48%, transparent 66%); transform: translateX(-120%); transition: transform 900ms var(--ease-out); z-index: 0; }
html[data-btn-hover="shine"] .mu-btn--primary:hover::after { transform: translateX(120%); }
html[data-btn-hover="none"] .mu-btn:hover { opacity: 0.88; }
/* 输入框外观（全局设置 ⑤） */
html[data-input="outline"] .mu-input { background: transparent; border: var(--border-w) solid var(--border); padding-inline: 16px; }
html[data-input="underline"] .mu-input { background: transparent; border-width: 0 0 1px; border-radius: 0; padding-inline: 0; }
html[data-input="filled"] .mu-input { background: var(--surface); border-color: transparent; padding-inline: 16px; }

/* 页头 */
.mu-header__bar { grid-template-columns: 1fr auto 1fr; }
.mu-header__start, .mu-header__end { display: flex; align-items: center; gap: var(--space-5); min-width: 0; }
.mu-header__end { justify-content: flex-end; }
.mu-header__center { display: flex; justify-content: center; min-width: 0; }
.mu-header[data-layout="classic"] .mu-header__bar, .mu-header[data-layout="editorial"] .mu-header__bar { grid-template-columns: auto 1fr auto; }
.mu-header[data-layout="classic"] .mu-logo, .mu-header[data-layout="editorial"] .mu-logo, .mu-header[data-layout="minimal"] .mu-logo { justify-self: start; }
.mu-header[data-layout="minimal"] .mu-header__bar { grid-template-columns: 1fr auto; }
.mu-header[data-layout="minimal"] .mu-header__center { display: none; }
.mu-header[data-layout="minimal"] .mu-burger { display: grid; }
.mu-header[data-layout="centered"] .mu-header__row2 { justify-content: center; padding-bottom: 10px; }
.mu-header[data-layout="split"] .mu-header__start .mu-nav { margin-left: var(--space-3); }
.mu-header__util { border-bottom: 1px solid var(--border); font-size: 12px; letter-spacing: 0.04em; }
.mu-header__util .mu-container { display: flex; justify-content: space-between; align-items: center; min-height: 36px; gap: var(--space-4); }
.mu-header__util-text { margin: 0; color: var(--muted); }
.mu-logo { color: inherit; }
.mu-logo__img { width: var(--logo-w, 120px); height: auto; max-height: 64px; object-fit: contain; }
.mu-logo__img--inverse { display: none; }
.is-overlay:not(.is-scrolled) > .mu-header:not(:hover):not(:focus-within) .mu-logo__img--inverse { display: block; }
.is-overlay:not(.is-scrolled) > .mu-header:not(:hover):not(:focus-within) .mu-logo__img:not(.mu-logo__img--inverse):has(+ .mu-logo__img--inverse) { display: none; }
.mu-logo__text { white-space: nowrap; }
.mu-nav { align-items: center; }
.mu-nav__item { display: inline-flex; }
.mu-nav__link .mu-icon { transition: transform 300ms var(--ease-out); }
.mu-nav__item.is-open > .mu-nav__link .mu-icon, .mu-nav__item:hover > .mu-nav__link .mu-icon { transform: rotate(180deg); }
.mu-nav__item:hover > .mu-mega, .mu-nav__item:focus-within > .mu-mega, .mu-nav__item.is-open > .mu-mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mu-mega { text-transform: none; letter-spacing: 0; font-weight: 400; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08); }
.mu-mega__inner { grid-template-columns: minmax(200px, 1fr) repeat(3, minmax(0, 1fr)); align-items: start; }
.mu-mega__inner.is-text-only { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mu-mega__col ul { grid-template-columns: 1fr; }
.mu-mega__col li { opacity: 0; transform: translateY(6px); transition: opacity 400ms ease, transform 500ms var(--ease-out); transition-delay: calc(var(--i) * 30ms); }
.mu-nav__item:hover .mu-mega__col li, .mu-nav__item.is-open .mu-mega__col li, .mu-nav__item:focus-within .mu-mega__col li { opacity: 1; transform: none; }
.mu-mega__all { margin-top: var(--space-4); }
.mu-mega__card-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: var(--font-heading); font-size: var(--type-h4); font-weight: var(--h-weight); }
.mu-header__tool { color: inherit; }
@media (max-width: 999px) {
  .mu-header .mu-header__bar, .mu-header[data-layout] .mu-header__bar { grid-template-columns: 1fr auto 1fr; height: 64px; }
  .mu-header .mu-header__start .mu-logo { display: none; }
  .mu-header .mu-header__center { display: flex; }
  .mu-header .mu-header__center::before { content: none; }
  .mu-header .mu-header__center .mu-nav, .mu-header .mu-header__row2, .mu-header .mu-header__end .mu-nav, .mu-header .mu-header__start .mu-nav, .mu-header .mu-switchers { display: none; }
  .mu-header[data-layout="classic"] .mu-header__center, .mu-header[data-layout="editorial"] .mu-header__center, .mu-header[data-layout="minimal"] .mu-header__center { display: flex; }
  .mu-header__util { display: none; }
}
@media (max-width: 999px) {
  .mu-header[data-layout="classic"] .mu-header__center:empty, .mu-header[data-layout="editorial"] .mu-header__center:empty { display: none; }
}
.mu-logo-m { display: none; }
@media (max-width: 999px) {
  .mu-logo-m { display: flex; justify-content: center; min-width: 0; }
  /* 手机页头三栏：两侧给图标留住最小宽度（左一颗菜单键、右两颗图标），中间店名不撑破栅格，超长名字省略号兜底。
     五种页头版式都走这里（居中 / 分列版式的 Logo 直接放在中栏，不包 .mu-logo-m）。 */
  .mu-header .mu-header__bar, .mu-header[data-layout] .mu-header__bar { grid-template-columns: minmax(46px, 1fr) minmax(0, auto) minmax(96px, 1fr); }
  .mu-header .mu-header__center { min-width: 0; }
  .mu-header .mu-header__center .mu-logo { min-width: 0; max-width: 100%; font-size: 18px; }
  .mu-header .mu-header__center .mu-logo__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .mu-header .mu-header__center .mu-logo__img { max-width: 100%; height: auto; }
  [data-style="atelier"] .mu-header .mu-header__center .mu-logo { letter-spacing: 0.14em; }
  [data-style="pulse"] .mu-header .mu-header__center .mu-logo { font-size: 15px; }
}

/* 手机菜单抽屉 */
.mu-menu { position: fixed; inset: 0; z-index: var(--z-drawer); pointer-events: none; }
.mu-menu__scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.35); opacity: 0; transition: opacity 400ms ease; }
.mu-menu__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(420px, 88vw); background: var(--bg); color: var(--text); display: grid; grid-template-rows: auto 1fr auto; transform: translateX(-104%); transition: transform 600ms var(--ease-out); box-shadow: var(--shadow-pop); }
.mu-menu.is-open { pointer-events: auto; }
.mu-menu.is-open .mu-menu__scrim { opacity: 1; }
.mu-menu.is-open .mu-menu__panel { transform: none; }
.mu-menu__head { display: flex; align-items: center; justify-content: space-between; padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--border); }
.mu-menu__brand { font-family: var(--font-heading); font-size: 20px; font-weight: var(--h-weight); }
.mu-menu__nav { overflow: auto; padding: var(--space-4) var(--space-5); display: grid; align-content: start; }
.mu-menu__link { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--border); font-family: var(--font-heading); font-size: var(--type-h4); font-weight: var(--h-weight); text-transform: var(--h-case); cursor: pointer; list-style: none; }
.mu-menu__link::-webkit-details-marker { display: none; }
.mu-menu.is-open .mu-menu__link { animation: mu-line-in 600ms var(--ease-out) both; animation-delay: calc(var(--i, 0) * 50ms + 100ms); }
.mu-menu__group[open] > .mu-menu__link .mu-icon { transform: rotate(45deg); }
.mu-menu__link .mu-icon { transition: transform 300ms var(--ease-out); }
.mu-menu__sub { list-style: none; margin: 0; padding: 8px 0 16px 4px; display: grid; gap: 12px; color: var(--muted); }
.mu-menu__foot { padding: var(--space-5); border-top: 1px solid var(--border); display: grid; gap: var(--space-4); }

/* 语言 / 货币 */
.mu-switchers { display: flex; gap: var(--space-2); align-items: center; }
.mu-switch { position: relative; font-size: 13px; }
.mu-switch summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; }
.mu-switch summary::-webkit-details-marker { display: none; }
.mu-switch__list { position: absolute; right: 0; top: calc(100% + 6px); z-index: 5; min-width: 180px; list-style: none; margin: 0; padding: 8px; border-radius: 12px; background: var(--bg); color: var(--text); border: 1px solid var(--border); box-shadow: var(--shadow-pop); }
.mu-switch__list a { display: block; padding: 8px 10px; border-radius: 8px; }
.mu-switch__list a:hover, .mu-switch__list a[aria-current] { background: var(--surface); }

/* 公告栏 */
.mu-announce { display: grid; align-content: center; text-align: center; }
.mu-announce__track { position: relative; height: 38px; }
.mu-announce__item { margin: 0; }
.mu-announce__item a { display: inline-flex; align-items: center; gap: 6px; }
.mu-announce .mu-container { display: flex; align-items: center; justify-content: center; gap: var(--space-4); }
.mu-announce .mu-announce__track { flex: 1; }
.mu-announce__clock { font-variant-numeric: tabular-nums; font-weight: 700; white-space: nowrap; }
.mu-announce[data-mode="marquee"] { overflow: hidden; }
.mu-announce__marquee { overflow: hidden; height: 38px; display: flex; align-items: center; }
.mu-announce__marquee .mu-announce__track { display: flex; width: max-content; height: auto; animation: mu-marquee 40s linear infinite; }
.mu-announce__group { display: flex; align-items: center; gap: 28px; padding-right: 28px; white-space: nowrap; }
.mu-announce__sep { color: var(--accent); display: inline-grid; }
.mu-announce[data-mode="static"] .mu-announce__item:not(:first-child) { display: none; }

/* 页脚 */
.mu-footer__top { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); align-items: start; }
.mu-footer__brand { max-width: 360px; }
.mu-footer__brand-name { font-family: var(--font-heading); font-size: var(--type-h3); font-weight: var(--h-weight); letter-spacing: var(--h-tracking); text-transform: var(--h-case); margin: 0 0 var(--space-3); line-height: 1.1; }
.mu-footer__col .t-label { margin-bottom: var(--space-4); }
.mu-footer__news { min-width: 260px; }
.mu-footer__news .t-h4 { margin: 0; }
.mu-footer__inline { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.mu-footer__inline a:hover { color: var(--text); }
.mu-footer[data-layout="wordmark"] .mu-footer__wordmark { margin: var(--space-6) 0 var(--space-5); }
.mu-footer__minimal { display: grid; justify-items: center; gap: var(--space-5); text-align: center; padding-bottom: var(--space-7); }
.mu-social { display: flex; gap: 6px; flex-wrap: wrap; }
.mu-social a { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--border); transition: background 200ms ease, color 200ms ease, border-color 200ms ease; }
.mu-social a:hover { background: var(--text); color: var(--bg); border-color: var(--text); }

/* 订阅表单 */
.mu-news-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; position: relative; }
.mu-news-form .mu-input { flex: 1 1 220px; }
.mu-news-form .mu-btn { flex: 0 0 auto; }
.mu-news-form__msg { flex-basis: 100%; margin: 0; min-height: 1.2em; }
.mu-news-form.is-done .mu-input, .mu-news-form.is-done .mu-btn { display: none; }
.mu-news { text-align: center; }
.mu-news__inner { display: grid; gap: var(--space-7); align-items: center; }
.mu-news__copy { display: grid; gap: var(--space-4); justify-items: center; max-width: 640px; margin-inline: auto; }
.mu-news__form { width: min(520px, 100%); }
.mu-news .mu-news-form { width: 100%; justify-content: center; }
.mu-news[data-layout="split"] .mu-news-form, .mu-news[data-layout="split"] .mu-news__form { justify-content: flex-start; margin: 0; }
.mu-news[data-layout="split"] { text-align: left; }
.mu-news[data-layout="split"] .mu-news__inner { grid-template-columns: 1fr 1fr; gap: var(--space-9); }
.mu-news[data-layout="split"] .mu-news__copy { justify-items: start; margin: 0; }
.mu-news[data-layout="card"] .mu-news__copy { padding: clamp(28px, 6vw, 72px); border-radius: var(--radius-card); background: var(--surface); border: 1px solid var(--border); max-width: none; }
@media (max-width: 899px) { .mu-news[data-layout="split"] .mu-news__inner { grid-template-columns: 1fr; gap: var(--space-6); } }

/* 首屏 */
.mu-hero[data-height="75"] { min-height: 75svh; }
.mu-hero[data-height="auto"] { min-height: 0; }
.mu-hero[data-height="auto"] .mu-hero__content { padding-top: 200px; }
@media (max-width: 749px) {
  .mu-hero[data-height-m="full"] { min-height: 100svh; }
  .mu-hero[data-height-m="75"] { min-height: 75svh; }
  .mu-hero[data-height-m="auto"] { min-height: 0; }
}
.mu-hero__inner { position: relative; z-index: 1; height: 100%; display: grid; align-items: end; }
.mu-hero[data-ay="top"] .mu-hero__inner { align-items: start; }
.mu-hero[data-ay="middle"] .mu-hero__inner { align-items: center; }
.mu-hero__content { align-content: start; }
.mu-hero__actions { align-items: center; }
.mu-hero[data-ay="top"] { align-items: start; }
.mu-hero[data-ay="middle"] { align-items: center; }
.mu-hero[data-ay="middle"] .mu-hero__content { padding-block: 140px; }
.mu-hero[data-ax="center"] .mu-hero__content { justify-items: center; text-align: center; margin-inline: auto; }
.mu-hero[data-ax="right"] .mu-hero__content { justify-items: end; text-align: right; margin-left: auto; }
.mu-hero[data-ax="center"] .mu-hero__title, .mu-hero[data-ax="center"] .mu-hero__sub { margin-inline: auto; }
.mu-hero__content { max-width: 980px; }
.mu-hero__eyebrow { color: rgba(255, 255, 255, 0.85); }
.mu-hero__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(0, 0, 0, 0.34) 0%, transparent 28%, transparent 40%, rgba(0, 0, 0, var(--hero-overlay, 0.45)) 100%); }
.mu-hero[data-ay="middle"] .mu-hero__shade { background: rgba(0, 0, 0, calc(var(--hero-overlay, 0.45) * 0.75)); }
.mu-hero__media .mu-media { position: absolute; inset: 0; border-radius: 0; }
.mu-hero__media .mu-media > img, .mu-hero__media video { width: 100%; height: 100%; object-fit: cover; }
.mu-hero__media { will-change: transform; }
.mu-hero__video { position: absolute; inset: 0; }
.mu-hero__title .mu-em--serif { font-weight: 400; }
/* 分屏 */
.mu-hero[data-media="split"] { color: var(--text); min-height: 0; display: block; }
.mu-hero__split { display: grid; grid-template-columns: 1fr 1fr; min-height: inherit; }
.mu-hero[data-media="split"][data-height="full"] .mu-hero__split { min-height: 100svh; }
.mu-hero[data-media="split"][data-height="75"] .mu-hero__split { min-height: 75svh; }
.mu-hero__split-media .mu-media { height: 100%; min-height: 50svh; border-radius: 0; }
.mu-hero[data-media="split"] .mu-hero__inner { align-content: center; padding-block: var(--space-9); }
.mu-hero[data-media="split"] .mu-hero__content { padding: 0; }
.mu-hero[data-media="split"] .mu-hero__sub, .mu-hero[data-media="split"] .mu-hero__eyebrow { color: var(--muted); }
.mu-hero[data-media="split"] .mu-btn--primary { --primary: var(--s1-primary); --on-primary: var(--s1-on-primary); }
.mu-hero[data-media="split"] .mu-btn--secondary { color: var(--text); border-color: var(--text); }
.mu-hero[data-media="split"][data-reverse] .mu-hero__split-media { order: 2; }
@media (max-width: 899px) { .mu-hero__split { grid-template-columns: 1fr; } .mu-hero[data-media="split"][data-reverse] .mu-hero__split-media { order: 0; } }
/* 轮播 */
.mu-hero__slides { position: absolute; inset: 0; }
.mu-hero[data-media="slideshow"] { display: block; }
.mu-hero__slide { position: absolute; inset: 0; display: grid; align-items: inherit; opacity: 0; visibility: hidden; transition: opacity 1000ms ease, visibility 0s linear 1000ms; }
.mu-hero__slide.is-active { opacity: 1; visibility: visible; transition-delay: 0s; }
.mu-hero__slide .mu-hero__media img { transform: scale(1.08); transition: transform 7s linear, opacity 700ms ease; }
.mu-hero__slide.is-active .mu-hero__media img { transform: scale(1); }
.mu-hero[data-ay="bottom"] .mu-hero__slide { align-items: end; }
.mu-hero[data-ay="middle"] .mu-hero__slide { align-items: center; }
.mu-hero__dots { position: absolute; z-index: 2; left: 50%; bottom: 28px; transform: translateX(-50%); display: flex; gap: 10px; }
.mu-hero__dot { width: 44px; height: 24px; display: grid; align-items: center; }
.mu-hero__dot span { display: block; height: 2px; background: rgba(255, 255, 255, 0.4); position: relative; overflow: hidden; }
.mu-hero__dot span::after { content: ""; position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.mu-hero__dot.is-active span::after { animation: mu-dot var(--mu-interval, 6s) linear forwards; }
.mu-hero__slides:not([data-autoplay]) .mu-hero__dot.is-active span::after { animation: none; transform: scaleX(1); }
@keyframes mu-dot { to { transform: scaleX(1); } }
.mu-hero[data-media="slideshow"][data-height="full"] { min-height: 100svh; }

/* 跑马灯 */
.mu-marquee-wrap { padding-block: var(--rhythm-y, 32px); }
.mu-marquee-wrap[data-rhythm="none"] { padding-block: 0; }
.mu-marquee.is-tilted { transform: rotate(-2deg) scale(1.04); margin-block: 28px; }
.mu-marquee.is-reverse .mu-marquee__track { animation-direction: reverse; }
.mu-marquee__img { display: inline-block; width: clamp(80px, 9vw, 140px); aspect-ratio: 4 / 5; border-radius: var(--radius-img); overflow: hidden; }
.mu-marquee__img img { width: 100%; height: 100%; object-fit: cover; }
.mu-marquee__sep { color: var(--accent); display: inline-grid; place-items: center; font-size: 0.6em; }
.mu-marquee__sep .mu-icon { width: 0.9em; height: 0.9em; }

/* 商品网格 */
.mu-products { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); }
@media (max-width: 999px) { .mu-products { grid-template-columns: repeat(min(var(--cols, 4), 3), minmax(0, 1fr)); } }
@media (max-width: 749px) { .mu-products { grid-template-columns: repeat(var(--cols-m, 2), minmax(0, 1fr)); gap: var(--space-6) 12px; } }
.mu-products[data-layout="rail"] { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cols, 4) - 1) * var(--gutter)) / var(--cols, 4)); grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.mu-products[data-layout="rail"]::-webkit-scrollbar { display: none; }
.mu-products[data-layout="rail"] > * { scroll-snap-align: start; }
@media (max-width: 749px) { .mu-products[data-layout="rail"] { grid-auto-columns: 72%; } }
.mu-products[data-layout="feature"] .mu-products__feature { grid-column: span 2; grid-row: span 2; }
.mu-products[data-layout="feature"] .mu-products__feature .mu-card__media { --ratio: 1 / 1; height: 100%; }
@media (max-width: 749px) { .mu-products[data-layout="feature"] .mu-products__feature { grid-column: 1 / -1; grid-row: auto; } }
.mu-rail-nav { display: flex; gap: 8px; justify-content: flex-end; margin-top: var(--space-5); }
@media (hover: none) { .mu-rail-nav { display: none; } }

/* 商品卡 */
.mu-card__frame { position: relative; }
.mu-card__media { display: block; background: var(--card-fill, var(--surface)); }
.mu-card__media > img { object-fit: var(--card-fit, cover); }
.mu-card__img2 { position: absolute; inset: 0; }
.mu-card__badges { pointer-events: none; }
.mu-card__quick .mu-btn__label { gap: 6px; }
.mu-card__info { text-align: var(--card-align, left); justify-items: var(--card-align, start); }
.mu-card__row { width: 100%; justify-content: var(--card-align, space-between); flex-wrap: wrap; }
[style*="--card-align"] .mu-card__row, :root[style] .mu-card__row { }
.mu-card__category { margin: 0; }
.mu-card__title a { background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 0 1px; transition: background-size 400ms var(--ease-out); }
.mu-card:hover .mu-card__title a { background-size: 100% 1px; }
.mu-card__rating { display: inline-flex; align-items: center; gap: 4px; font-size: var(--type-small); color: var(--muted); }
.mu-card__rating .mu-icon { fill: currentColor; stroke: none; width: 13px; height: 13px; color: var(--text); }
.mu-card.is-soldout .mu-card__media > img { filter: grayscale(0.4); opacity: 0.75; }
.mu-price.is-sale .mu-price__now { color: var(--text); }
.mu-price__from { color: var(--muted); font-size: 0.9em; }
html:not([data-tilt="on"]) .mu-card__media, html[data-motion-level="0"] .mu-card__media, html[data-motion-level="1"] .mu-card__media { transform: none !important; }
.mu-card.is-mini .mu-card__info { gap: 4px; }

/* 抬头 */
.mu-section-head__link { white-space: nowrap; }

/* 穿越式大标题 */
.mu-zoom { height: var(--zoom-len, 260vh); }
.mu-zoom__word { color: var(--text); }
.mu-zoom[style*="--zoom-img"] .mu-zoom__word { color: transparent; }
.mu-zoom__caption { width: min(760px, 90vw); }
.mu-zoom__caption .mu-btn--primary { --primary: #fff; --on-primary: #111; }
.mu-zoom__caption [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; }
html[data-reduced] .mu-zoom, html[data-motion-level="0"] .mu-zoom { height: auto; }
html[data-reduced] .mu-zoom__stage, html[data-motion-level="0"] .mu-zoom__stage { position: relative; height: 80vh; }
html[data-reduced] .mu-zoom__reveal, html[data-motion-level="0"] .mu-zoom__reveal, html[data-reduced] .mu-zoom__caption, html[data-motion-level="0"] .mu-zoom__caption { --zr: 1; }
html[data-reduced] .mu-zoom__word, html[data-motion-level="0"] .mu-zoom__word { display: none; }

/* 滚动讲故事 */
.mu-story[data-reverse] .mu-story__visual { order: -1; }
.mu-story__step .t-h3 { margin: 0; }
.mu-story__inline-media { display: none; }
.mu-story__frame { position: absolute; inset: 0; }
.mu-story__visual .mu-media.is-active { z-index: 1; }
@media (max-width: 899px) {
  .mu-story__visual { display: none; }
  .mu-story__step { min-height: 0; opacity: 1; padding-block: var(--space-6); }
  .mu-story__inline-media { display: block; margin-top: var(--space-4); }
}

/* Lookbook */
.mu-look { position: relative; }
.mu-look > .mu-media { border-radius: var(--radius-img); }
.mu-hotspot.is-empty { display: none; }
.mu-hotspot.is-left .mu-hotspot__card { left: auto; right: -12px; transform: translate(0, 8px) scale(0.96); }
.mu-hotspot.is-left.is-open .mu-hotspot__card { transform: translate(0, 0) scale(1); }
.mu-hotspot.is-below .mu-hotspot__card { bottom: auto; top: calc(100% + 16px); }
.mu-hotspot__info { display: grid; gap: 4px; align-content: start; font-size: var(--type-small); }
.mu-hotspot__title { font-weight: 600; line-height: 1.3; }
.mu-hotspot__dot { cursor: pointer; }
@media (max-width: 749px) { .mu-hotspot__card { width: 220px; grid-template-columns: 64px 1fr; } }

/* 叠卡 */
.mu-stack__card { background: var(--bg); color: var(--text); }
.mu-stack__copy { display: grid; gap: var(--space-4); }
.mu-stack__copy .t-h2 { margin: 0; }
.mu-stack__card .mu-media { min-height: 40vh; }
html[data-reduced] .mu-stack__card, html[data-motion-level="0"] .mu-stack__card { position: relative; top: auto; transform: none; }

/* 图集 */
.mu-gridx__item { margin: 0; }
.mu-gridx__link { display: block; position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; text-align: left; }
.mu-gridx__item .mu-media { height: 100%; }
.mu-gridx__item .mu-media > img { transition: transform 1200ms var(--ease-out), opacity 700ms ease; }
.mu-gridx__cap { z-index: 2; }
.mu-gridx[data-layout="masonry"] { display: block; columns: 3 260px; column-gap: var(--gutter); }
.mu-gridx[data-layout="masonry"] .mu-gridx__item { position: relative; break-inside: avoid; margin: 0 0 var(--gutter); grid-column: auto !important; grid-row: auto !important; }
.mu-gridx[data-layout="masonry"] .mu-gridx__link { position: relative; }
.mu-gridx[data-layout="masonry"] .mu-media { height: auto; }
.mu-gridx[data-layout="collage"] { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 9vw; }
.mu-gridx[data-layout="collage"] .mu-gridx__item:nth-child(6n+1) { grid-column: 1 / span 5; grid-row: span 4; }
.mu-gridx[data-layout="collage"] .mu-gridx__item:nth-child(6n+2) { grid-column: 6 / span 4; grid-row: span 3; margin-top: 4vw; }
.mu-gridx[data-layout="collage"] .mu-gridx__item:nth-child(6n+3) { grid-column: 10 / span 3; grid-row: span 2; }
.mu-gridx[data-layout="collage"] .mu-gridx__item:nth-child(6n+4) { grid-column: 10 / span 3; grid-row: span 3; }
.mu-gridx[data-layout="collage"] .mu-gridx__item:nth-child(6n+5) { grid-column: 2 / span 4; grid-row: span 3; }
.mu-gridx[data-layout="collage"] .mu-gridx__item:nth-child(6n+6) { grid-column: 6 / span 4; grid-row: span 3; }
@media (max-width: 749px) { .mu-gridx[data-layout="collage"] { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 44vw; } .mu-gridx[data-layout="collage"] .mu-gridx__item { grid-column: span 1 !important; grid-row: span 1 !important; margin: 0 !important; } }
.mu-lightbox { transition: opacity 400ms ease, visibility 0s linear 400ms; }
.mu-lightbox.is-open { transition-delay: 0s; }
.mu-lightbox figure { margin: 0; display: grid; justify-items: center; }
.mu-lightbox__close { position: absolute; top: 16px; right: 16px; color: #fff; }
.mu-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); color: #fff; }
.mu-lightbox__nav--prev { left: 16px; } .mu-lightbox__nav--next { right: 16px; }

/* 富文本 */
.mu-richtext__inner { display: grid; gap: var(--space-5); }
.mu-richtext[data-align="center"] .mu-richtext__inner { justify-items: center; text-align: center; }
.mu-richtext[data-align="center"] .mu-richtext__inner > * { margin-inline: auto; }
.mu-richtext__actions { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; }
.mu-richtext[data-align="center"] .mu-richtext__actions { justify-content: center; }

/* 图文 */
.mu-it__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 112px); align-items: center; }
.mu-it__grid[data-valign="top"] { align-items: start; }
.mu-it__grid[data-valign="bottom"] { align-items: end; }
.mu-it__grid[data-layout="image-right"] .mu-it__media { order: 2; }
.mu-it__grid[data-layout="stacked"] { grid-template-columns: 1fr; }
.mu-it__grid[data-layout="stacked"] .mu-it__copy { max-width: 760px; }
.mu-it__copy { display: grid; gap: var(--space-5); align-content: start; }
.mu-it__actions { display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: center; }
.mu-it__media { position: relative; }
.mu-it__grid[data-layout="overlap-text"] { grid-template-columns: 1fr; position: relative; }
.mu-it__grid[data-layout="overlap-text"] .mu-it__media { grid-area: 1 / 1; }
.mu-it__grid[data-layout="overlap-text"] .mu-it__copy { grid-area: 1 / 1; z-index: 1; color: #fff; padding: clamp(24px, 6vw, 96px); max-width: 760px; align-self: end; }
.mu-it__grid[data-layout="overlap-text"] .t-lead, .mu-it__grid[data-layout="overlap-text"] .t-muted { color: rgba(255, 255, 255, 0.86); }
.mu-it__grid[data-layout="overlap-text"] .mu-btn--primary { --primary: #fff; --on-primary: #111; }
.mu-it__grid[data-layout="overlap-image"] { grid-template-columns: 1fr; position: relative; }
.mu-it__grid[data-layout="overlap-image"] .mu-it__media { width: 78%; }
.mu-it__grid[data-layout="overlap-image"] .mu-it__copy { position: relative; z-index: 1; width: min(520px, 90%); margin: -22% 0 0 auto; padding: clamp(24px, 4vw, 56px); background: var(--bg); border-radius: var(--radius-card); box-shadow: var(--shadow-pop); }
.mu-it__grid[data-layout="offset"] .mu-it__media { padding: 0 18% 12% 0; }
.mu-it__media2 { position: absolute; right: 0; bottom: 0; width: 42%; box-shadow: var(--shadow-pop); border-radius: var(--radius-img); }
@media (max-width: 899px) {
  .mu-it__grid, .mu-it__grid[data-layout] { grid-template-columns: 1fr; gap: var(--space-6); }
  .mu-it__grid[data-layout="image-right"] .mu-it__media { order: 0; }
  .mu-it__grid[data-layout="overlap-image"] .mu-it__media { width: 100%; }
  .mu-it__grid[data-layout="overlap-image"] .mu-it__copy { margin: -48px 16px 0; width: auto; }
}

/* 多列 */
.mu-cols__grid { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: var(--space-7) var(--gutter); }
@media (max-width: 999px) { .mu-cols__grid { grid-template-columns: repeat(min(var(--cols, 3), 3), minmax(0, 1fr)); } }
@media (max-width: 749px) { .mu-cols__grid { grid-template-columns: repeat(var(--cols-m, 1), minmax(0, 1fr)); } }
.mu-col { display: grid; gap: var(--space-3); align-content: start; }
.mu-col .t-h4 { margin: var(--space-2) 0 0; }
.mu-col__icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 999px; background: var(--surface); color: var(--text); }
.mu-cols__grid[data-align="center"] .mu-col { justify-items: center; text-align: center; }
.mu-cols__grid[data-look="card"] .mu-col { padding: var(--space-6); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-card); }
.mu-cols__grid[data-look="outline"] .mu-col { padding: var(--space-6); border-radius: var(--radius-card); border: var(--border-w) solid var(--border); }

/* 横向叙事 */
.mu-hscroll { height: calc(100vh + var(--hs-count, 4) * 42vw); }
.mu-hscroll__intro .t-h1 { margin: 0; }
.mu-hscroll__card { color: inherit; }
.mu-hscroll__meta { display: flex; gap: 12px; align-items: baseline; }
.mu-hscroll__cue { display: inline-flex; gap: 8px; align-items: center; color: var(--muted); margin-top: var(--space-4); }
@media (max-width: 749px), (prefers-reduced-motion: reduce) {
  .mu-hscroll { height: auto; }
  .mu-hscroll__stage { position: relative; height: auto; padding-block: var(--space-8); }
  .mu-hscroll__track { overflow-x: auto; scroll-snap-type: x mandatory; width: auto; transform: none !important; scrollbar-width: none; }
  .mu-hscroll__track > * { scroll-snap-align: start; }
  .mu-hscroll__card { width: 76vw; }
  .mu-hscroll__card:nth-child(even) { margin-top: 0; }
  .mu-hscroll__bar { display: none; }
}
html[data-motion-level="0"] .mu-hscroll { height: auto; }
html[data-motion-level="0"] .mu-hscroll__stage { position: relative; height: auto; padding-block: var(--space-8); }
html[data-motion-level="0"] .mu-hscroll__track { overflow-x: auto; width: auto; }

/* 图片对比 */
.mu-compare__before, .mu-compare__after { position: absolute; inset: 0; }
.mu-compare .mu-media { position: absolute; inset: 0; border-radius: 0; }
.mu-compare:not(.is-auto) .mu-compare__before img { filter: none; }
.mu-compare__range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; z-index: 3; }
.mu-compare__range:focus-visible + * { outline: none; }
.mu-compare:focus-within .mu-compare__knob { box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.5), 0 8px 30px rgba(0, 0, 0, 0.3); }
.mu-compare__handle { z-index: 2; pointer-events: none; }
.mu-compare__tag { z-index: 2; }

/* 聚光 */
.mu-spot { background: #000; }
.mu-spot__lit { -webkit-mask-image: radial-gradient(circle var(--sr) at var(--sx) var(--sy), #000 0%, #000 50%, transparent 100%); mask-image: radial-gradient(circle var(--sr) at var(--sx) var(--sy), #000 0%, #000 50%, transparent 100%); }
.mu-spot__ph { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.3; }
.mu-spot__text .t-lead { color: rgba(255, 255, 255, 0.8); }
@media (max-width: 749px) { .mu-spot { height: 72vh; } }

/* 流体光影 */
.mu-fluid__content .t-lead { color: rgba(255, 255, 255, 0.84); }
.mu-fluid .mu-news-form { width: min(460px, 100%); justify-content: center; }
.mu-fluid .mu-news-form .mu-input { background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.35); color: #fff; padding-inline: 16px; border-radius: var(--radius-btn); }
.mu-fluid .mu-news-form .mu-input::placeholder { color: rgba(255, 255, 255, 0.7); }
.mu-fluid .mu-news-form__msg { color: #fff; }
.mu-fluid__fallback { animation: mu-fluid-drift 18s ease-in-out infinite alternate; background-size: 140% 140%; }
@keyframes mu-fluid-drift { 0% { background-position: 0% 0%; } 100% { background-position: 100% 100%; } }
.mu-fluid canvas { opacity: 0; transition: opacity 1200ms ease; }
.mu-fluid canvas.is-ready { opacity: 1; }

/* 数字亮点 */
.mu-stats { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); }
@media (max-width: 749px) { .mu-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mu-stat__num { margin: 0; }
.mu-stat p { margin: 0; }

/* 评价 */
.mu-quote .mu-stars { color: var(--border); }
.mu-quote figcaption { margin: 0; }
.mu-quotes[data-layout="grid"] { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--gutter); }
.mu-quotes[data-layout="grid"] .mu-quote { grid-area: auto; opacity: 1; transform: none; pointer-events: auto; text-align: left; justify-items: start; padding: var(--space-6); border-radius: var(--radius-card); background: var(--surface); }
.mu-quotes[data-layout="grid"] .mu-quote blockquote { font-size: var(--type-h4); max-width: none; }
.mu-quotes[data-layout="grid"] ~ .mu-quotes__nav { display: none; }
.mu-quotes__note { text-align: center; margin-top: var(--space-6); }
.mu-quotes__dots { display: flex; gap: 10px; justify-content: center; margin-top: var(--space-7); }

/* 常见问题 */
.mu-faq__grid[data-layout="side"] { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--space-9); align-items: start; }
.mu-faq__grid[data-layout="side"] .mu-section-head { position: sticky; top: 110px; flex-direction: column; align-items: start; }
.mu-faq__group { margin: var(--space-6) 0 var(--space-2); }
.mu-faq__group:first-child { margin-top: 0; }
.mu-acc summary { gap: 12px; }
.mu-acc__icon { display: inline-grid; margin-right: 8px; color: var(--muted); }
@media (max-width: 899px) { .mu-faq__grid[data-layout="side"] { grid-template-columns: 1fr; gap: var(--space-6); } .mu-faq__grid[data-layout="side"] .mu-section-head { position: static; } }

/* 视频 */
.mu-video { position: relative; aspect-ratio: var(--ratio, 16 / 9); border-radius: var(--radius-img); overflow: hidden; background: #000; }
.mu-video__el, .mu-video .mu-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mu-video__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mu-video__frame.is-ambient { pointer-events: none; }
.mu-video__toggle { position: absolute; right: 14px; bottom: 14px; z-index: 3; width: 38px; height: 38px; border-radius: 999px; display: grid; place-items: center; background: rgba(0, 0, 0, 0.5); color: #fff; backdrop-filter: blur(6px); transition: background 200ms ease; }
.mu-video__toggle:hover, .mu-video__toggle:focus-visible { background: rgba(0, 0, 0, 0.72); }
.mu-video__toggle .mu-icon { fill: currentColor; }
.mu-video__toggle-play { display: none; }
.is-paused > .mu-video__toggle .mu-video__toggle-play { display: inline-flex; }
.is-paused > .mu-video__toggle .mu-video__toggle-pause { display: none; }
/* 没脚本 / 脚本没加载起来时暂停键不起作用，藏起来（视频此时也不会自动播放：HTML 里没写 autoplay）。
   脚本晚到（兜底之后才启动）时视频会照常播放，暂停键要重新露出来，所以只在还没 mu-booted 时藏。 */
.mu-no-js .mu-video__toggle, .mu-fallback:not(.mu-booted) .mu-video__toggle { display: none; }
/* 首屏背景视频的暂停键放右上角、页头下方：右下角有「Scroll」竖排提示，左下角是文字的默认位置，都会撞；
   文字靠右时右上角会压住小标签和大标题（页头高时尤其明显），改放左上角。 */
.mu-hero > .mu-video__toggle { top: calc(var(--mu-header-h, 76px) + 16px); bottom: auto; right: var(--page-edge); }
.mu-hero[data-ax="right"] > .mu-video__toggle { right: auto; left: var(--page-edge); }
.mu-video__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 84px; height: 84px; border-radius: 999px; background: rgba(255, 255, 255, 0.92); color: #111; display: grid; place-items: center; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3); transition: transform 300ms var(--ease-spring); z-index: 2; }
.mu-video__play:hover { transform: translate(-50%, -50%) scale(1.08); }
.mu-video__play .mu-icon { fill: currentColor; }
.mu-video.is-playing .mu-video__play { display: none; }
.mu-video__caption { position: absolute; left: var(--space-6); bottom: var(--space-6); right: var(--space-6); z-index: 1; color: #fff; margin: 0; text-shadow: 0 2px 30px rgba(0, 0, 0, 0.4); pointer-events: none; }

/* 品牌墙 */
.mu-logos__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--gutter); align-items: center; }
.mu-logos__item { display: grid; place-items: center; min-height: 88px; padding: 16px; border-radius: var(--radius-card); }
.mu-logos__item img { max-height: 44px; width: auto; max-width: 160px; object-fit: contain; transition: filter 400ms ease, opacity 400ms ease; }
.mu-logos[data-gray] .mu-logos__item img { filter: grayscale(1); opacity: 0.65; }
.mu-logos[data-gray] .mu-logos__item:hover img { filter: none; opacity: 1; }
.mu-logos__marquee { border: 0; padding-block: 8px; }
.mu-logos__marquee .mu-marquee__group { gap: 72px; padding-right: 72px; }

/* 倒计时 */
.mu-cd { display: grid; gap: var(--space-6); justify-items: center; text-align: center; }
.mu-cd__copy { display: grid; gap: var(--space-3); justify-items: center; }
.mu-cd__clock { display: flex; gap: clamp(12px, 3vw, 40px); }
.mu-cd__unit { display: grid; justify-items: center; gap: 6px; min-width: 72px; }
.mu-cd__unit b { font-family: var(--font-heading); font-size: var(--type-display); font-weight: var(--display-weight); line-height: 0.9; letter-spacing: var(--display-tracking); font-variant-numeric: tabular-nums; font-variation-settings: var(--h-variation); }
.mu-cd__unit small { font-size: var(--type-label); letter-spacing: var(--label-tracking); text-transform: uppercase; color: var(--muted); }
.mu-cd[data-layout="inline"] { grid-template-columns: 1fr auto auto; justify-items: start; text-align: left; align-items: center; }
.mu-cd[data-layout="inline"] .mu-cd__unit b { font-size: var(--type-h2); }
@media (max-width: 749px) { .mu-cd[data-layout="inline"] { grid-template-columns: 1fr; } }
.mu-cd.is-done .mu-cd__clock, .mu-cd.is-done .mu-cd__action { display: none; }

/* 促销横幅 */
.mu-promo { position: relative; overflow: hidden; border-radius: var(--radius-card); padding: clamp(40px, 8vw, 120px) clamp(24px, 6vw, 96px); display: grid; place-items: center; text-align: center; background: var(--surface); isolation: isolate; min-height: 46vh; }
.mu-promo.has-image { color: #fff; }
.mu-promo.has-image .t-lead { color: rgba(255, 255, 255, 0.86); }
.mu-promo.has-image .mu-btn--primary { --primary: #fff; --on-primary: #111; }
.mu-promo__bg { position: absolute; inset: 0; z-index: -1; }
.mu-promo__bg .mu-media { height: 100%; border-radius: 0; }
.mu-promo__content { display: grid; gap: var(--space-5); justify-items: center; max-width: 820px; }
.mu-promo[data-align="left"] { place-items: center start; text-align: left; }
.mu-promo[data-align="left"] .mu-promo__content { justify-items: start; }
.mu-promo__code { display: inline-flex; align-items: center; gap: 14px; padding: 12px 18px; border: 1.5px dashed currentColor; border-radius: var(--radius-btn); font-family: var(--font-heading); font-size: var(--type-h4); letter-spacing: 0.08em; }
.mu-promo__code small { font-family: var(--font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.75; }
.mu-promo__code.is-copied small { opacity: 1; }
.mu-promo__clock { font-variant-numeric: tabular-nums; font-size: var(--type-h4); font-family: var(--font-heading); }

/* 信任徽章 */
.mu-trust__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--gutter); }
.mu-trust__item { display: flex; gap: 14px; align-items: center; }
.mu-trust__item b { display: block; font-weight: 600; }
.mu-trust__item .t-small { display: block; }
.mu-trust__icon { flex: none; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--border); }
.mu-trust__list[data-look="boxed"] .mu-trust__item { padding: var(--space-5); border-radius: var(--radius-card); background: var(--surface); }

/* 集合列表 */
.mu-clist__grid { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: var(--gutter); }
@media (max-width: 999px) { .mu-clist__grid { grid-template-columns: repeat(min(var(--cols, 3), 3), minmax(0, 1fr)); } }
@media (max-width: 749px) { .mu-clist__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mu-clist__item { display: grid; gap: var(--space-3); color: inherit; }
.mu-clist__item .mu-media > img { transition: transform 1200ms var(--ease-out), opacity 700ms ease; }
.mu-clist__item:hover .mu-media > img { transform: scale(var(--img-hover-scale)); }
.mu-clist__label { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mu-clist__label .t-h4 { margin: 0; }
.mu-clist__label .mu-icon { transition: transform 400ms var(--ease-out); }
.mu-clist__item:hover .mu-clist__label .mu-icon { transform: translateX(6px); }
.mu-clist__grid[data-layout="circles"] .mu-media { border-radius: 999px; }
.mu-clist__grid[data-layout="circles"] .mu-clist__label { justify-content: center; text-align: center; }
.mu-clist__grid[data-layout="circles"] .mu-clist__label .mu-icon { display: none; }
.mu-clist__grid[data-layout="mosaic"] { grid-auto-rows: 22vw; }
.mu-clist__grid[data-layout="mosaic"] .mu-clist__item { position: relative; overflow: hidden; border-radius: var(--radius-img); }
.mu-clist__grid[data-layout="mosaic"] .mu-clist__item:first-child { grid-row: span 2; }
.mu-clist__grid[data-layout="mosaic"] .mu-media { position: absolute; inset: 0; border-radius: 0; }
.mu-clist__grid[data-layout="mosaic"] .mu-clist__label { position: absolute; left: var(--space-5); right: var(--space-5); bottom: var(--space-5); color: #fff; z-index: 1; }
@media (max-width: 749px) { .mu-clist__grid[data-layout="mosaic"] { grid-auto-rows: 52vw; } }
.mu-clist__grid[data-layout="reveal"] { grid-template-columns: 1fr; gap: 0; position: relative; border-top: 1px solid var(--border); }
.mu-clist__row { display: grid; grid-template-columns: 56px 1fr auto auto; gap: var(--space-5); align-items: center; padding: clamp(18px, 2.6vw, 34px) 0; border-bottom: 1px solid var(--border); color: inherit; position: relative; z-index: 1; transition: padding 500ms var(--ease-out), color 300ms ease; }
.mu-clist__name { font-family: var(--font-heading); font-size: var(--type-h1); font-weight: var(--h-weight); letter-spacing: var(--h-tracking); text-transform: var(--h-case); line-height: 1; font-variation-settings: var(--h-variation); transition: transform 600ms var(--ease-out); }
.mu-clist__row .mu-icon { transition: transform 500ms var(--ease-out); }
.mu-clist__row:hover .mu-clist__name { transform: translateX(16px); }
.mu-clist__row:hover .mu-icon { transform: rotate(45deg); }
.mu-clist__grid[data-layout="reveal"]:hover .mu-clist__row:not(:hover) { color: var(--muted); }
.mu-clist__float { position: fixed; top: 0; left: 0; z-index: 0; width: clamp(200px, 22vw, 340px); aspect-ratio: 4 / 5; border-radius: var(--radius-img); background-size: cover; background-position: center; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(0.8) rotate(-4deg); transition: opacity 300ms ease, transform 500ms var(--ease-out); box-shadow: var(--shadow-pop); }
.mu-clist__float.is-on { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(-2deg); }
@media (hover: none) { .mu-clist__float { display: none; } .mu-clist__row { grid-template-columns: 40px 1fr auto; } .mu-clist__count { display: none; } }

/* 搭配购买 */
.mu-bundle__item { align-content: start; }
.mu-bundle__item[data-locked] .mu-media { opacity: 0.85; }
.mu-bundle__check { cursor: pointer; }
.mu-bundle__check input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.mu-bundle__item.is-off .mu-bundle__check { background: var(--bg); color: var(--text); }
.mu-bundle__item.is-off .mu-bundle__check svg { opacity: 0; }
.mu-bundle__title { font-weight: 600; line-height: 1.3; }
.mu-bundle__items > .mu-bundle__plus { position: relative; top: auto; transform: none; align-self: center; justify-self: center; }
.mu-bundle__items { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); align-items: start; }
.mu-bundle__items:has(.mu-bundle__plus) { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr) 32px; }
.mu-bundle__items:has(.mu-bundle__plus) > .mu-bundle__item:last-child { grid-column: auto; }
@media (max-width: 749px) { .mu-bundle__items:has(.mu-bundle__plus) { grid-auto-flow: row; grid-template-columns: 1fr; } .mu-bundle__items > .mu-bundle__plus { display: none; } }

/* 对比表 */
.mu-ctable { overflow-x: auto; border-radius: var(--radius-card); border: 1px solid var(--border); }
.mu-ctable .mu-table th, .mu-ctable .mu-table td { padding: 16px 18px; text-align: center; }
.mu-ctable .mu-table th[scope="row"], .mu-ctable .mu-table thead th:first-child { text-align: left; color: var(--text); font-weight: 600; }
.mu-ctable .mu-table thead th { font-family: var(--font-heading); font-size: var(--type-h4); color: var(--text); font-weight: var(--h-weight); }
.mu-ctable .is-hl { background: color-mix(in srgb, var(--accent) 12%, transparent); }
.mu-ctable__yes { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: var(--text); color: var(--bg); }
.mu-ctable__no { color: var(--muted); }
.mu-table tbody tr:last-child th, .mu-table tbody tr:last-child td { border-bottom: 0; }

/* 弹性版块 */
.mu-flex { display: flex; flex-wrap: wrap; --fg: var(--gutter); gap: var(--space-6) var(--fg); align-items: center; }
.mu-flex[data-gap="tight"] { --fg: 12px; gap: var(--space-4) var(--fg); }
.mu-flex[data-gap="loose"] { --fg: clamp(32px, 5vw, 80px); gap: var(--space-8) var(--fg); }
.mu-flex[data-valign="top"] { align-items: flex-start; }
.mu-flex[data-valign="bottom"] { align-items: flex-end; }
.mu-flex__cell { flex: 0 0 auto; display: grid; gap: var(--space-4); min-width: 0; }
.mu-flex__cell[data-w="100"] { width: 100%; }
.mu-flex__cell[data-w="75"] { width: calc(75% - var(--fg) * 0.25); }
.mu-flex__cell[data-w="66"] { width: calc(66.666% - var(--fg) * 0.334); }
.mu-flex__cell[data-w="50"] { width: calc(50% - var(--fg) * 0.5); }
.mu-flex__cell[data-w="33"] { width: calc(33.333% - var(--fg) * 0.667); }
.mu-flex__cell[data-w="25"] { width: calc(25% - var(--fg) * 0.75); }
.mu-flex__cell[data-align="center"] { justify-items: center; text-align: center; }
.mu-flex__cell[data-align="right"] { justify-items: end; text-align: right; }
.mu-flex__icon-text { display: flex; gap: 14px; align-items: flex-start; }
.mu-flex__icon-text .t-h4 { margin: 0 0 4px; }
.mu-flex__icon-text p { margin: 0; }
@media (max-width: 749px) {
  .mu-flex__cell[data-wm="100"] { width: 100%; }
  .mu-flex__cell[data-wm="50"] { width: calc(50% - var(--fg) * 0.5); }
  .mu-flex__cell[data-hide-m] { display: none; }
}
@media (min-width: 750px) { .mu-flex__cell[data-hide-d] { display: none; } }

/* 商品评价 */
.mu-reviews__grid { display: grid; grid-template-columns: 1fr 2fr; gap: var(--space-9); align-items: start; }
.mu-reviews__summary { position: sticky; top: 110px; display: grid; gap: var(--space-3); }
.mu-reviews__avg { font-family: var(--font-heading); font-size: var(--type-display); font-weight: var(--display-weight); line-height: 0.9; margin: 0; letter-spacing: var(--display-tracking); }
.mu-reviews__list { display: grid; gap: var(--space-6); }
.mu-review { display: grid; gap: var(--space-3); padding-bottom: var(--space-6); border-bottom: 1px solid var(--border); }
.mu-review__body { margin: 0; font-size: var(--type-body-lg); }
@media (max-width: 899px) { .mu-reviews__grid { grid-template-columns: 1fr; gap: var(--space-6); } .mu-reviews__summary { position: static; } }

/* 商品页 */
.mu-pdp-wrap { padding-top: var(--space-4); }
.mu-gallery { position: relative; display: block; }
.mu-gallery__main { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mu-gallery__item { margin: 0; }
.mu-gallery__item:first-child { grid-column: 1 / -1; }
.mu-gallery__zoom { display: block; width: 100%; padding: 0; cursor: zoom-in; }
.mu-gallery__zoom .mu-media { border-radius: var(--radius-img); }
.mu-gallery__count { display: none; }
.mu-pdp[data-layout="slider"] .mu-gallery__main, .mu-pdp[data-layout="cinematic"] .mu-gallery__main { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 0; border-radius: var(--radius-img); }
.mu-pdp[data-layout="slider"] .mu-gallery__main::-webkit-scrollbar, .mu-pdp[data-layout="cinematic"] .mu-gallery__main::-webkit-scrollbar { display: none; }
.mu-pdp[data-layout="slider"] .mu-gallery__item, .mu-pdp[data-layout="cinematic"] .mu-gallery__item { flex: 0 0 100%; scroll-snap-align: start; }
.mu-pdp[data-layout="slider"] .mu-gallery__item .mu-media, .mu-pdp[data-layout="cinematic"] .mu-gallery__item .mu-media { border-radius: 0; }
.mu-pdp[data-layout="slider"] .mu-gallery__count, .mu-pdp[data-layout="cinematic"] .mu-gallery__count { display: block; position: absolute; right: 14px; bottom: 14px; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--bg) 80%, transparent); backdrop-filter: blur(8px); margin: 0; }
.mu-gallery__thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; scrollbar-width: none; }
.mu-gallery__thumb { flex: 0 0 72px; border-radius: calc(var(--radius-img) * 0.6); overflow: hidden; opacity: 0.55; outline: 1.5px solid transparent; outline-offset: 2px; transition: opacity 200ms ease, outline-color 200ms ease; }
.mu-gallery__thumb.is-active { opacity: 1; outline-color: var(--text); }
.mu-pdp[data-layout="split"] { grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); }
.mu-pdp[data-layout="split"] .mu-gallery__main { grid-template-columns: 1fr; }
.mu-pdp[data-layout="cinematic"] { grid-template-columns: 1fr; }
.mu-pdp[data-layout="cinematic"] .mu-gallery { margin-inline: calc(-1 * var(--page-edge)); }
.mu-pdp[data-layout="cinematic"] .mu-gallery__item .mu-media { --ratio: 16 / 9 !important; }
.mu-pdp[data-layout="cinematic"] .mu-buy { position: relative; top: auto; width: min(640px, 100%); margin-inline: auto; text-align: center; justify-items: center; }
.mu-pdp[data-layout="cinematic"] .mu-opt__values { justify-content: center; }
.mu-pdp[data-layout="cinematic"] .mu-buy__form { width: 100%; }
@media (max-width: 749px) { .mu-pdp[data-layout="cinematic"] .mu-gallery__item .mu-media { --ratio: 4 / 5 !important; } }
@media (max-width: 899px) {
  .mu-pdp, .mu-pdp[data-layout] { grid-template-columns: 1fr; }
  .mu-gallery__main { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 8px; margin-inline: calc(-1 * var(--page-edge)); padding-inline: var(--page-edge); scrollbar-width: none; }
  .mu-gallery__main::-webkit-scrollbar { display: none; }
  .mu-gallery__item, .mu-gallery__item:first-child { flex: 0 0 88%; scroll-snap-align: center; }
  .mu-gallery__count { display: block; text-align: center; margin: 10px 0 0; }
  .mu-gallery__thumbs { display: none; }
  .mu-buy { position: relative; top: auto; }
}
.mu-buy__title { margin: 0; }
.mu-buy__price { align-items: baseline; }
.mu-buy__price .mu-price s { font-size: 0.8em; }
.mu-opts { display: grid; gap: var(--space-5); }
.mu-opt { border: 0; margin: 0; padding: 0; min-width: 0; }
.mu-opt__head { display: flex; gap: 10px; align-items: baseline; margin-bottom: 12px; padding: 0; width: 100%; }
.mu-color { cursor: pointer; position: relative; background: var(--c, var(--surface)); }
.mu-color.is-unknown { width: auto; min-width: 64px; height: 46px; padding: 0 16px; border-radius: var(--radius-btn); background: transparent; box-shadow: none; border: var(--border-w) solid var(--border); display: inline-grid; place-items: center; font-size: var(--type-small); font-weight: 600; }
.mu-color.is-unknown span.sr-only { position: static; width: auto; height: auto; clip: auto; white-space: normal; }
.mu-color.is-unknown.is-active { background: var(--text); color: var(--bg); border-color: var(--text); outline: none; }
.mu-color.is-soldout::after, .mu-size.is-soldout::after { content: ""; position: absolute; left: 10%; right: 10%; top: 50%; height: 1.5px; background: var(--muted); transform: rotate(-35deg); }
.mu-size { cursor: pointer; position: relative; display: inline-grid; place-items: center; }
.mu-size:has(input:focus-visible), .mu-color:has(input:focus-visible) { outline: 2px solid var(--text); outline-offset: 3px; }
.mu-stock { margin: 0; display: flex; align-items: center; gap: 8px; min-height: 1.4em; }
.mu-stock::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #2E9E5B; box-shadow: 0 0 0 4px color-mix(in srgb, #2E9E5B 18%, transparent); }
.mu-stock[data-level="low"]::before { background: #E08A1E; box-shadow: 0 0 0 4px color-mix(in srgb, #E08A1E 18%, transparent); animation: mu-pulse 1.6s ease-in-out infinite; }
.mu-stock[data-level="out"]::before { background: var(--muted); box-shadow: none; }
.mu-stock:empty { display: none; }
@keyframes mu-pulse { 50% { box-shadow: 0 0 0 7px color-mix(in srgb, #E08A1E 6%, transparent); } }
.mu-buy__form { display: grid; gap: 10px; }
.mu-buy__actions { grid-template-columns: auto 1fr; }
.mu-qty--lg { height: 56px; margin: 0; }
.mu-qty input { width: 44px; height: 100%; border: 0; background: none; text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.mu-qty input::-webkit-outer-spin-button, .mu-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mu-buy__add.is-busy .mu-btn__label { opacity: 0.4; }
.mu-buy__add.is-done { background: #2E9E5B; color: #fff; }
.mu-buy__msg { margin: 0; min-height: 1.2em; }
.mu-buy__desc.is-clamped { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.mu-buy__desc.is-clamped.is-expanded { -webkit-line-clamp: unset; }
.mu-buy__perks { list-style: none; margin: 0; }
.mu-buy__sizebtn { justify-self: start; }
.mu-share { display: flex; gap: 8px; }
.mu-sheet-host { position: fixed; inset: 0; z-index: var(--z-drawer); pointer-events: none; }
.mu-sheet-host .mu-scrim { pointer-events: none; }
.mu-sheet-host.is-open { pointer-events: auto; }
.mu-sheet-host.is-open .mu-scrim { opacity: 1; visibility: visible; transition-delay: 0s; pointer-events: auto; }
.mu-sheet-host.is-open .mu-sheet { transform: none; }
.mu-sheet__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-5); }
.mu-sheet__head .t-h3 { margin: 0; }
.mu-sheet__body table { width: 100%; border-collapse: collapse; }
.mu-sheet__body th, .mu-sheet__body td { padding: 10px 8px; border-bottom: 1px solid var(--border); text-align: left; }
.mu-sticky-atc__title { margin: 0; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mu-sticky-atc__info { min-width: 0; }
.mu-sticky-atc__info p { margin: 0; }
.mu-zoombox { position: fixed; inset: 0; z-index: var(--z-overlay); background: var(--bg); opacity: 0; visibility: hidden; transition: opacity 400ms ease, visibility 0s linear 400ms; }
.mu-zoombox.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.mu-zoombox__close { position: absolute; top: 16px; right: 16px; z-index: 2; background: var(--bg); }
.mu-zoombox__track { height: 100%; overflow-y: auto; display: grid; gap: 8px; padding: 8px; justify-items: center; }
.mu-zoombox__track img { max-width: min(1600px, 100%); width: 100%; height: auto; cursor: zoom-out; }
body[data-color-sync] .mu-pdp-wrap { transition: background-color 900ms var(--ease-standard); }
.mu-pdp-wrap.is-synced { background: color-mix(in srgb, var(--sync) 16%, var(--bg)); }
.mu-pdp-wrap.is-synced .mu-btn--primary { --primary: color-mix(in srgb, var(--sync) 70%, #000); --on-primary: #fff; }

/* 集合页 */
.mu-coll { padding-top: 0; }
.mu-coll__banner { position: relative; margin-bottom: var(--space-7); }
.mu-coll__banner .mu-media { border-radius: 0; max-height: 72vh; }
.mu-coll__banner-text { position: absolute; left: 0; right: 0; bottom: clamp(24px, 6vh, 64px); color: #fff; }
.mu-coll__head { display: grid; gap: var(--space-4); padding-block: var(--space-8) var(--space-6); max-width: 820px; }
.mu-coll__head h1 { margin: 0; }
.mu-coll__bar { position: sticky; top: var(--mu-header-h, 76px); z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: 12px 0; margin-bottom: var(--space-6); background: var(--bg); border-bottom: 1px solid var(--border); flex-wrap: wrap; transition: top 400ms var(--ease-out); }
html.mu-header-hidden .mu-coll__bar { top: 0; }
.mu-coll__bar p { margin: 0; }
.mu-coll__tools { display: flex; gap: var(--space-4); align-items: center; flex-wrap: wrap; }
.mu-density { display: inline-flex; gap: 4px; }
.mu-density button { height: 32px; padding: 0 8px; border-radius: 8px; display: inline-flex; gap: 2px; align-items: center; opacity: 0.4; }
.mu-density button.is-active, .mu-density button:hover { opacity: 1; background: var(--surface); }
.mu-density span { width: 4px; height: 14px; border-radius: 1px; background: currentColor; }
.mu-coll__cell.is-filtered { display: none; }
.mu-coll__promo { position: relative; grid-column: span 2; grid-row: span 2; border-radius: var(--radius-card); overflow: hidden; color: #fff; display: block; }
.mu-coll__promo .mu-media { height: 100%; border-radius: 0; }
.mu-coll__promo-text { position: absolute; left: var(--space-6); right: var(--space-6); bottom: var(--space-6); display: grid; gap: 6px; z-index: 1; }
@media (max-width: 749px) { .mu-coll__promo { grid-column: 1 / -1; grid-row: auto; } .mu-coll__promo .mu-media { --ratio: 4 / 5; } }
.mu-pager { display: flex; justify-content: center; align-items: center; gap: var(--space-5); margin-top: var(--space-8); }

/* 购物车页 */
.mu-cartpage .t-h1 { margin: var(--space-6) 0 var(--space-7); }
.mu-cartpage__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--space-8); align-items: start; }
.mu-cartpage__lines { display: grid; gap: var(--space-5); }
.mu-line--page { grid-template-columns: 120px 1fr auto; padding-bottom: var(--space-5); border-bottom: 1px solid var(--border); animation: none; }
.mu-line.is-unavailable { opacity: 0.6; }
.mu-line__media { display: block; }
.mu-line__media img { width: 100%; height: 100%; object-fit: cover; }
.mu-line__title { font-weight: 600; display: block; margin-bottom: 4px; }
.mu-line__info p { margin: 0 0 2px; }
.mu-line__end { display: grid; justify-items: end; gap: 8px; }
.mu-line__price { font-variant-numeric: tabular-nums; font-weight: 600; }
.mu-line__remove { font-size: var(--type-small); color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.mu-line__unavailable { color: #C0392B; }
.mu-qty-form { margin-top: 10px; }
.mu-cartpage__sum { position: sticky; top: 110px; display: grid; gap: var(--space-4); padding: var(--space-6); border-radius: var(--radius-card); background: var(--surface); }
@media (max-width: 899px) { .mu-cartpage__grid { grid-template-columns: 1fr; } .mu-cartpage__sum { position: static; } .mu-line--page { grid-template-columns: 84px 1fr auto; } }
.mu-drawer__count { font-family: var(--font-body); font-size: var(--type-small); font-weight: 500; }
.mu-drawer__warn { color: #C0392B; margin: 0; }
.mu-drawer__viewcart { justify-self: center; }
.mu-drawer-host { position: fixed; inset: 0; z-index: var(--z-drawer); pointer-events: none; }
.mu-drawer-host.is-open { pointer-events: auto; }
.mu-drawer-host .mu-scrim { position: absolute; }
.mu-drawer-host.is-open .mu-scrim { opacity: 1; visibility: visible; transition-delay: 0s; }
.mu-drawer-host.is-open .mu-drawer { transform: none; }
.mu-drawer { position: absolute; }
.mu-drawer__body { align-content: start; }
.mu-line .mu-media { --ratio: 4 / 5; }
.mu-line__info { min-width: 0; }

/* 内容页 */
.mu-page__head { padding-block: var(--space-6) var(--space-7); }
.mu-page__head h1 { margin: 0; }
.mu-page__body { font-size: var(--type-body-lg); line-height: 1.75; }

/* 最近浏览 */
.mu-recent[hidden] { display: none; }

/* 搜索结果 */
.mu-search__hit-title { font-weight: 600; }
.mu-search__hit:hover .mu-search__hit-title { text-decoration: underline; text-underline-offset: 3px; }
.mu-search__bar .mu-icon { flex: none; }
.mu-search__empty { color: var(--muted); }

/* 提示条 */
.mu-toast:empty { display: none; }
.mu-toast { z-index: calc(var(--z-drawer) + 1); }

/* 页面第一个组件是满屏首屏时，扣掉公告栏（以及不透明页头）的高度，让整屏刚好一屏 */
#sc-main-content > [data-sc-section]:first-child .mu-hero[data-height="full"] { min-height: calc(100svh - var(--mu-top-offset, 0px)); }
#sc-main-content > [data-sc-section]:first-child .mu-hero[data-media="split"][data-height="full"] .mu-hero__split { min-height: calc(100svh - var(--mu-top-offset, 0px)); }

/* 公告栏 / 页脚没单独选配色时，按风格自动用深色（Nova 本身是深色站，页脚用纯黑一档） */
.mu-announce:not([data-scheme]) { background: var(--announce-bg, var(--s3-bg)); color: var(--announce-fg, var(--s3-text)); }
[data-style="pulse"] .mu-announce:not([data-scheme]) { --announce-bg: #0A0A0A; --announce-fg: #D4FF3F; }
[data-style="nova"] .mu-announce:not([data-scheme]) { --announce-bg: linear-gradient(90deg, #2B1055, #0B3A5C); --announce-fg: #fff; }
.mu-footer:not([data-scheme]) { --bg: var(--s3-bg); --surface: var(--s3-surface); --text: var(--s3-text); --muted: var(--s3-muted); --border: var(--s3-border); --primary: var(--s3-primary); --on-primary: var(--s3-on-primary); --accent: var(--s3-accent); background: var(--bg); color: var(--text); }
[data-style="nova"] .mu-footer:not([data-scheme]) { --bg: var(--s5-bg); --surface: var(--s5-surface); --text: var(--s5-text); --muted: var(--s5-muted); --border: var(--s5-border); --primary: var(--s5-primary); --on-primary: var(--s5-on-primary); --accent: var(--s5-accent); }

/* 快速预览（从商品卡打开，内容就是商品页的购买区） */
.mu-qv { position: fixed; inset: 0; z-index: var(--z-drawer); display: grid; place-items: center; padding: clamp(0px, 3vw, 40px); pointer-events: none; }
.mu-qv .mu-scrim { position: absolute; pointer-events: auto; }
.mu-qv.is-open .mu-scrim { opacity: 1; visibility: visible; transition-delay: 0s; }
.mu-qv__panel { position: relative; width: min(1100px, 100%); max-height: min(88vh, 900px); overflow: auto; background: var(--bg); color: var(--text); border-radius: calc(var(--radius-card) + 4px); box-shadow: var(--shadow-pop); opacity: 0; transform: translateY(24px) scale(0.98); transition: opacity 400ms ease, transform 600ms var(--ease-out); pointer-events: auto; }
.mu-qv.is-open .mu-qv__panel { opacity: 1; transform: none; }
.mu-qv__close { position: absolute; top: 12px; right: 12px; z-index: 3; background: var(--bg); }
.mu-qv__loading { padding: 80px; text-align: center; color: var(--muted); }
.mu-qv .mu-pdp-wrap { padding: 0 !important; }
.mu-qv .mu-pdp-wrap > .mu-container { padding: clamp(16px, 3vw, 32px); max-width: none; }
.mu-qv .mu-crumbs, .mu-qv .mu-sticky-atc, .mu-qv .mu-zoombox, .mu-qv .mu-buy__desc, .mu-qv .mu-acc, .mu-qv .mu-share { display: none !important; }
.mu-qv .mu-buy { position: relative; top: auto; }
.mu-qv .mu-gallery__main { grid-template-columns: 1fr 1fr; }
.mu-qv__more { display: inline-flex; margin-top: var(--space-2); }
@media (max-width: 899px) { .mu-qv { padding: 0; align-items: end; } .mu-qv__panel { max-height: 92vh; border-radius: 20px 20px 0 0; } }

/* 招牌：无限拖拽画廊 */
.mu-cg { position: relative; height: var(--cg-h, 86vh); overflow: hidden; cursor: grab; touch-action: none; user-select: none; border-radius: var(--radius-img); background: var(--surface); }
.mu-cg.is-dragging { cursor: grabbing; }
.mu-cg__plane { position: absolute; left: 0; top: 0; display: grid; grid-template-columns: repeat(3, max-content); will-change: transform; }
.mu-cg__tile { display: grid; grid-template-columns: repeat(4, clamp(180px, 22vw, 340px)); gap: clamp(16px, 2.5vw, 40px); padding: clamp(8px, 1.25vw, 20px); }
.mu-cg__item { display: grid; gap: 8px; color: inherit; transition: transform 500ms var(--ease-out); }
.mu-cg__item:nth-child(4n+2) { transform: translateY(18%); }
.mu-cg__item:nth-child(4n+4) { transform: translateY(-12%); }
.mu-cg__item .mu-media { pointer-events: none; box-shadow: var(--shadow-card); }
.mu-cg__cap { font-size: var(--type-small); color: var(--muted); }
.mu-cg__hint { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 2; display: inline-flex; gap: 8px; align-items: center; padding: 8px 14px; border-radius: 999px; background: color-mix(in srgb, var(--bg) 84%, transparent); backdrop-filter: blur(8px); font-size: 12px; pointer-events: none; }
.mu-cg__title { position: absolute; left: var(--page-edge); top: var(--space-6); z-index: 2; pointer-events: none; max-width: 520px; }
@media (max-width: 749px) { .mu-cg { --cg-h: 72vh; } .mu-cg__tile { grid-template-columns: repeat(4, 46vw); } }

/* 招牌：商品故事 */
.mu-stories__row { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(150px, 18vw, 220px); gap: var(--gutter); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; }
.mu-stories__row::-webkit-scrollbar { display: none; }
.mu-stories__card { position: relative; scroll-snap-align: start; border-radius: calc(var(--radius-card) + 6px); overflow: hidden; cursor: pointer; color: #fff; isolation: isolate; }
.mu-stories__card .mu-media { --ratio: 9 / 16; border-radius: 0; }
.mu-stories__card::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 80%, transparent); pointer-events: none; }
.mu-stories__label { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; font-weight: 600; text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5); }
.mu-stories__card .mu-media__overlay { background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.55)); }
.mu-story-viewer { position: fixed; inset: 0; z-index: var(--z-overlay); background: #000; color: #fff; display: grid; place-items: center; opacity: 0; transition: opacity 300ms ease; }
.mu-story-viewer.is-open { opacity: 1; }
.mu-story-viewer__stage { position: relative; width: min(100vw, calc(100vh * 9 / 16)); height: 100%; max-height: 100vh; }
.mu-story-viewer__stage .mu-media { position: absolute; inset: 0; --ratio: auto; border-radius: 0; height: 100%; }
.mu-story-viewer__bars { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); width: min(92vw, calc(100vh * 9 / 16 - 24px)); z-index: 3; display: flex; gap: 4px; }
.mu-story-viewer__bars span { flex: 1; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, 0.3); overflow: hidden; }
.mu-story-viewer__bars i { display: block; height: 100%; width: 0; background: #fff; }
.mu-story-viewer__bars .is-done i { width: 100%; }
.mu-story-viewer__bars .is-active i { animation: mu-story-bar var(--story-ms, 5s) linear forwards; }
@keyframes mu-story-bar { to { width: 100%; } }
.mu-story-viewer__nav { position: absolute; top: 0; bottom: 0; width: 40%; z-index: 2; }
.mu-story-viewer__nav--prev { left: 0; } .mu-story-viewer__nav--next { right: 0; }
.mu-story-viewer__close { position: absolute; top: 24px; right: 16px; z-index: 4; color: #fff; }
.mu-story-viewer__product { position: absolute; left: 16px; right: 16px; bottom: 24px; z-index: 3; display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; padding: 10px; border-radius: 16px; background: rgba(255, 255, 255, 0.94); color: #111; }
.mu-story-viewer__product .mu-media { position: relative; --ratio: 1; height: auto; border-radius: 10px; }
.mu-story-viewer__product p { margin: 0; }
.mu-story-viewer__caption { position: absolute; left: 20px; right: 20px; bottom: 120px; z-index: 3; text-shadow: 0 2px 20px rgba(0, 0, 0, 0.6); }

/* 限量发售 */
.mu-drop { position: relative; overflow: hidden; border-radius: var(--radius-card); isolation: isolate; }
.mu-drop__bg { position: absolute; inset: 0; z-index: -1; }
.mu-drop__bg .mu-media { height: 100%; border-radius: 0; }
.mu-drop__inner { display: grid; gap: var(--space-6); justify-items: center; text-align: center; padding: clamp(48px, 9vw, 140px) var(--page-edge); }
.mu-drop.has-image .mu-drop__inner { color: #fff; }
.mu-drop.has-image .t-lead, .mu-drop.has-image .mu-cd__unit small { color: rgba(255, 255, 255, 0.82); }
.mu-drop__status { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; border: 1px solid currentColor; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.mu-drop__status::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #E5484D; box-shadow: 0 0 0 4px rgba(229, 72, 77, 0.25); animation: mu-pulse-red 1.4s ease-in-out infinite; }
@keyframes mu-pulse-red { 50% { box-shadow: 0 0 0 8px rgba(229, 72, 77, 0.05); } }
.mu-drop .mu-news-form { width: min(460px, 100%); justify-content: center; }
.mu-drop.has-image .mu-news-form .mu-input { background: rgba(255, 255, 255, 0.14); border: 1px solid rgba(255, 255, 255, 0.4); color: #fff; padding-inline: 16px; }
.mu-drop__products { width: 100%; text-align: left; }
.mu-drop.has-image .mu-drop__products { background: var(--bg); color: var(--text); border-radius: var(--radius-card); padding: var(--space-6); }

/* ── 引擎页：搜索结果 / 政策 / 博客文章（这三页没有模板，按主题排版统一出页） ── */
.mu-searchp__head { display: grid; gap: var(--space-4); padding-block: var(--space-7) var(--space-6); max-width: 860px; }
.mu-searchp__head h1 { margin: 0; overflow-wrap: anywhere; }
.mu-searchp__form { position: relative; display: flex; gap: 10px; margin-top: var(--space-3); }
.mu-searchp__icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--muted); display: inline-flex; pointer-events: none; }
.mu-searchp__input { min-height: 56px; font-size: var(--type-body-lg); }
/* 三种输入框风格都给图标让位（风格规则带 html[data-input]，这里同级再加一层类名才压得住） */
html .mu-searchp__form .mu-input.mu-searchp__input { padding-left: 46px; }
html[data-input="underline"] .mu-searchp__form .mu-input.mu-searchp__input { padding-left: 32px; }
html[data-input="underline"] .mu-searchp__icon { left: 0; }
.mu-searchp__form .mu-btn { flex: none; min-height: 56px; }
.mu-searchp__hint { margin: 0; color: var(--muted); }
.mu-searchp__hint strong { color: var(--text); font-weight: 700; }
.mu-searchp__grid { margin-top: var(--space-6); }
.mu-searchp__empty { padding-block: var(--space-8); }
.mu-searchp__empty-mark { display: inline-grid; place-items: center; width: 72px; height: 72px; border-radius: 999px; border: var(--border-w) solid var(--border); color: var(--muted); }
@media (max-width: 749px) {
  .mu-searchp__form { flex-direction: column; }
  .mu-searchp__icon { top: 28px; }
  .mu-searchp__form .mu-btn { width: 100%; }
}

.mu-policy__wrap { display: grid; gap: var(--space-7); padding-block: var(--space-7) var(--space-8); max-width: 1080px; }
.mu-policy__wrap.has-nav { grid-template-columns: 240px minmax(0, 1fr); align-items: start; }
.mu-policy__nav { position: sticky; top: calc(var(--mu-header-h, 76px) + 24px); transition: top 400ms var(--ease-out); }
html.mu-header-hidden .mu-policy__nav { top: 24px; }
.mu-policy__nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; border-left: var(--border-w) solid var(--border); }
.mu-policy__nav a { display: block; padding: 8px 16px; margin-left: calc(var(--border-w) * -1); border-left: 2px solid transparent; color: var(--muted); font-size: var(--type-small); transition: color 200ms ease, border-color 200ms ease; }
.mu-policy__nav a:hover { color: var(--text); }
.mu-policy__nav a[aria-current="page"] { color: var(--text); border-left-color: var(--accent); font-weight: 600; }
.mu-policy__title { margin: 0 0 var(--space-6); }
.mu-policy__body { white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--type-body-lg); line-height: 1.8; max-width: 72ch; }
@media (max-width: 899px) {
  .mu-policy__wrap.has-nav { grid-template-columns: minmax(0, 1fr); }
  .mu-policy__nav { position: static; }
  .mu-policy__nav ul { display: flex; gap: 8px; overflow-x: auto; border-left: 0; scrollbar-width: none; padding-bottom: 4px; }
  .mu-policy__nav ul::-webkit-scrollbar { display: none; }
  .mu-policy__nav a { white-space: nowrap; margin: 0; border: var(--border-w) solid var(--border); border-radius: 999px; padding: 6px 14px; }
  .mu-policy__nav a[aria-current="page"] { border-color: var(--text); background: var(--text); color: var(--bg); }
}

.mu-article__wrap { max-width: 760px; padding-block: var(--space-8) var(--space-9); }
.mu-article__head { display: grid; gap: var(--space-4); margin-bottom: var(--space-7); }
.mu-article__meta { margin: 0; color: var(--muted); }
.mu-article__title { margin: 0; overflow-wrap: anywhere; }
.mu-article__lead { margin: 0; color: var(--muted); }
.mu-article__body { font-size: var(--type-body-lg); line-height: 1.8; overflow-wrap: anywhere; }
.mu-article__body.is-plain { white-space: pre-wrap; }
.mu-article__body img { display: block; width: 100%; margin: 1.6em 0; }
.mu-article__body blockquote { margin: 1.6em 0; padding-left: 1.2em; border-left: 2px solid var(--accent); font-family: var(--font-heading); font-size: 1.15em; }
.mu-article__foot { margin-top: var(--space-8); padding-top: var(--space-6); border-top: var(--border-w) solid var(--border); }

/* ── 会员 / 售后页：正文由平台生成（通用 sc-* 类名、部分不带类名的表单元素），只在 .mu-acct 作用域里
   按 Murano 令牌排版，不影响任何其它页面。结账页、订单状态页不经过这里。 ── */
.mu-acct { padding-block: var(--space-8) var(--space-9); }
.mu-acct h1, .mu-acct h2, .mu-acct .sc-account__title, .mu-acct .sc-account-auth__title {
  font-family: var(--font-heading); font-weight: var(--h-weight); letter-spacing: var(--h-tracking);
  text-transform: var(--h-case); line-height: var(--h-leading); margin: 0; text-wrap: balance;
}
.mu-acct h1, .mu-acct .sc-account__title, .mu-acct .sc-account-auth__title { font-size: var(--type-h1); }
.mu-acct h2 { font-size: var(--type-h3); line-height: 1.15; }
.mu-acct p { margin: 0; }
.mu-acct a:not(.sc-btn) { text-decoration: underline; text-underline-offset: 0.2em; }
.mu-acct .sc-account-subtle, .mu-acct .sc-field__hint, .mu-acct .sc-account-auth__alt { color: var(--muted); font-size: var(--type-small); }
.mu-acct .sc-account-auth__error, .mu-acct .sc-account-error, .mu-acct .sc-account-notice--error, .mu-acct .sc-after-sales-error {
  padding: 12px 14px; border-radius: var(--radius-input); background: rgba(229, 72, 77, 0.08); color: #B42318; font-size: var(--type-small);
}
.mu-acct .sc-account-notice { padding: 12px 14px; border-radius: var(--radius-input); background: var(--surface); border: var(--border-w) solid var(--border); font-size: var(--type-small); }

/* 按钮与输入框：与主题自己的 mu-btn / mu-input 同一套变量 */
.mu-acct .sc-btn {
  --btn-h: 48px; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: var(--btn-h); padding: 0 28px; border-radius: var(--radius-btn); cursor: pointer; text-decoration: none;
  font-family: var(--font-body); font-size: var(--btn-font-size); font-weight: var(--btn-weight);
  letter-spacing: var(--btn-tracking); text-transform: var(--btn-case); white-space: nowrap;
  background: var(--primary); color: var(--on-primary); border: var(--border-w) solid transparent;
  transition: transform 300ms var(--ease-out), opacity 300ms ease, color 300ms ease, background 300ms ease, border-color 300ms ease;
}
.mu-acct .sc-btn:hover { opacity: 0.88; }
.mu-acct .sc-btn-outline { background: transparent; color: var(--text); border-color: var(--text); }
.mu-acct .sc-btn-outline:hover { background: var(--text); color: var(--bg); opacity: 1; }
.mu-acct .sc-btn-sm { --btn-h: 38px; padding: 0 18px; font-size: calc(var(--btn-font-size) * 0.92); }
.mu-acct .sc-btn[disabled] { opacity: 0.45; pointer-events: none; }
.mu-acct .sc-input, .mu-acct select, .mu-acct textarea,
.mu-acct input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]) {
  width: 100%; min-height: 48px; padding: 0 16px; background: var(--surface); color: var(--text); font: inherit;
  border: var(--border-w) solid var(--border); border-radius: var(--radius-input); outline: none;
  transition: border-color 200ms ease;
}
.mu-acct textarea { padding-block: 12px; min-height: 120px; }
.mu-acct .sc-input:focus, .mu-acct select:focus, .mu-acct textarea:focus, .mu-acct input:focus { border-color: var(--text); }
html[data-input="underline"] .mu-acct .sc-input, html[data-input="underline"] .mu-acct select,
html[data-input="underline"] .mu-acct input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]) {
  background: transparent; border-width: 0 0 1px; border-radius: 0; padding-inline: 0;
}
.mu-acct input[type="checkbox"], .mu-acct input[type="radio"] { width: 16px; height: 16px; accent-color: var(--text); flex: none; }
.mu-acct .sc-field { display: grid; gap: 8px; font-size: var(--type-small); }
.mu-acct .sc-field__label { font-size: var(--type-label); font-weight: var(--label-weight); letter-spacing: var(--label-tracking); text-transform: var(--label-case); }
.mu-acct .sc-field__required { color: #B42318; }
.mu-acct .sc-field--check { display: flex; align-items: center; gap: 10px; }
.mu-acct .sc-card { padding: var(--space-6); border: var(--border-w) solid var(--border); border-radius: var(--radius-card); background: var(--surface); }
.mu-acct .sc-badge, .mu-acct .sc-chip {
  display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--radius-badge); border: var(--border-w) solid var(--border);
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text); background: var(--bg);
}

/* 登录 / 注册 / 找回密码 / 不存在等单卡页 */
.mu-acct .sc-account-auth { width: min(440px, 100%); margin: 0 auto; display: grid; gap: var(--space-5); }
.mu-acct .sc-account-form { display: grid; gap: var(--space-4); }
.mu-acct .sc-account-form .sc-btn { width: 100%; margin-top: var(--space-2); }

/* 我的账户 */
.mu-acct .sc-account { display: grid; gap: var(--space-7); max-width: 1080px; }
.mu-acct .sc-account-profile { display: flex; flex-wrap: wrap; align-items: center; gap: 6px var(--space-5); }
.mu-acct .sc-account-profile__email { font-weight: 600; }
.mu-acct .sc-account-profile__name { color: var(--muted); }
.mu-acct .sc-account-profile form { margin-left: auto; }
.mu-acct .sc-account-orders, .mu-acct .sc-account-addresses { display: grid; gap: var(--space-5); }
.mu-acct .sc-account-orders ul { list-style: none; margin: 0; padding: 0; border-top: var(--border-w) solid var(--border); }
.mu-acct .sc-account-orders li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px var(--space-5); padding: var(--space-4) 0; border-bottom: var(--border-w) solid var(--border); }
.mu-acct [data-sc-order-number] { font-weight: 600; min-width: 110px; }
.mu-acct [data-sc-order-status] { color: var(--muted); }
.mu-acct [data-sc-order-total] { margin-left: auto; font-variant-numeric: tabular-nums; }
.mu-acct .sc-account-addresses__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.mu-acct .sc-account-addresses__head span { color: var(--muted); font-size: var(--type-small); }
.mu-acct .sc-address-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-5); }
.mu-acct .sc-address-card { display: grid; gap: 8px; align-content: start; padding: var(--space-5); border: var(--border-w) solid var(--border); border-radius: var(--radius-card); background: var(--surface); }
.mu-acct .sc-address-card--dashed { border-style: dashed; background: transparent; place-items: center; text-align: center; min-height: 180px; }
.mu-acct .sc-address-card--editor { grid-column: 1 / -1; }
.mu-acct .sc-address-card__head, .mu-acct .sc-address-card__editor-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mu-acct .sc-address-card__summary { color: var(--muted); font-size: var(--type-small); }
.mu-acct .sc-address-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--space-2); }
.mu-acct .sc-address-card__actions form { margin: 0; }
.mu-acct .sc-address-card__actions button { padding: 0; border: 0; background: none; color: var(--text); font: inherit; font-size: var(--type-small); text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
.mu-acct .sc-address-card__actions a { font-size: var(--type-small); }
.mu-acct .sc-address-card__actions .sc-address-card__actions--danger { color: #B42318; }
.mu-acct a.sc-address-card { text-decoration: none; color: var(--muted); transition: border-color 200ms ease, color 200ms ease; }
.mu-acct a.sc-address-card:hover { border-color: var(--text); color: var(--text); }
.mu-acct .sc-address-card__add-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; border: var(--border-w) solid currentColor; font-size: 22px; line-height: 1; }
.mu-acct h3 { font-family: var(--font-heading); font-weight: var(--h-weight); font-size: var(--type-h4); margin: 0; }
.mu-acct .sc-address-form, .mu-acct .sc-address-editor { display: grid; gap: var(--space-4); }
.mu-acct .sc-address-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.mu-acct .sc-field--wide { grid-column: 1 / -1; }
.mu-acct .sc-address-form__footer { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* 售后：申请页（左表单 + 右退款预估与政策）与进度页 */
.mu-acct .sc-account-section { display: grid; gap: var(--space-5); max-width: 1080px; }
.mu-acct .sc-after-sales-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--space-7); align-items: start; }
.mu-acct .sc-after-sales-layout__form { display: grid; gap: var(--space-5); }
.mu-acct .sc-after-sales-layout__aside { display: grid; gap: var(--space-5); position: sticky; top: calc(var(--mu-header-h, 76px) + 24px); }
.mu-acct .sc-after-sales-type { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.mu-acct .sc-after-sales-type__option { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: center; padding: 14px 16px; border: var(--border-w) solid var(--border); border-radius: var(--radius-card); cursor: pointer; }
.mu-acct .sc-after-sales-type__option:has(input:checked) { border-color: var(--text); box-shadow: inset 0 0 0 1px var(--text); }
.mu-acct .sc-after-sales-type__label { font-weight: 600; }
.mu-acct .sc-after-sales-type__sublabel { grid-column: 2; color: var(--muted); font-size: var(--type-small); }
.mu-acct .sc-after-sales-items { display: grid; border-top: var(--border-w) solid var(--border); }
.mu-acct .sc-after-sales-item { display: grid; grid-template-columns: minmax(0, 1fr) 110px; gap: 10px var(--space-4); align-items: end; padding: var(--space-4) 0; border-bottom: var(--border-w) solid var(--border); }
.mu-acct .sc-after-sales-item__select { display: flex; align-items: center; gap: 10px; align-self: center; }
.mu-acct .sc-after-sales-item__qty, .mu-acct .sc-after-sales-item__exchange { display: grid; gap: 6px; font-size: var(--type-small); color: var(--muted); }
.mu-acct .sc-after-sales-item__exchange { grid-column: 1 / -1; }
.mu-acct .sc-after-sales-refund, .mu-acct .sc-after-sales-policy, .mu-acct .sc-after-sales-summary {
  display: grid; gap: 10px; padding: var(--space-5); border: var(--border-w) solid var(--border); border-radius: var(--radius-card); background: var(--surface);
}
.mu-acct .sc-after-sales-refund__title, .mu-acct .sc-after-sales-policy__title { font-family: var(--font-heading); font-size: var(--type-h4); }
.mu-acct .sc-after-sales-refund__line, .mu-acct .sc-after-sales-refund__total { display: flex; justify-content: space-between; gap: var(--space-4); font-variant-numeric: tabular-nums; }
.mu-acct .sc-after-sales-refund__total { padding-top: 10px; border-top: var(--border-w) solid var(--border); font-size: var(--type-body-lg); }
.mu-acct .sc-after-sales-policy__list { margin: 0; padding-left: 1.1em; display: grid; gap: 6px; color: var(--muted); font-size: var(--type-small); }
.mu-acct .sc-after-sales-summary { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.mu-acct .sc-after-sales-summary__amount { display: grid; gap: 4px; }
.mu-acct .sc-after-sales-summary__amount b { font-family: var(--font-heading); font-size: var(--type-h2); font-weight: var(--h-weight); }
.mu-acct .sc-after-sales-status { display: grid; gap: var(--space-5); max-width: 860px; }
.mu-acct .sc-after-sales-status__items { margin: 0; padding-left: 1.1em; display: grid; gap: 6px; }
.mu-acct .sc-after-sales-status__photos { display: flex; flex-wrap: wrap; gap: 10px; }
.mu-acct .sc-after-sales-status__photo img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--radius-img); }
@media (max-width: 899px) {
  .mu-acct .sc-after-sales-layout { grid-template-columns: minmax(0, 1fr); }
  .mu-acct .sc-after-sales-layout__aside { position: static; }
  .mu-acct .sc-address-form-grid { grid-template-columns: minmax(0, 1fr); }
  .mu-acct .sc-account-profile form { margin-left: 0; }
}

/* 查单页（游客查订单，2026-10-15 换 Murano 外观）：查不到 / 只读订单状态。正文由平台生成（与结账同一套 sc-* 类名），
   只在 .mu-acct 里按 Murano 令牌排版；查询表单本身复用上面的单卡样式。 */
.mu-acct .sc-checkout__panel { width: min(760px, 100%); margin: 0 auto; display: grid; gap: var(--space-6); }
.mu-acct .sc-order-confirm { width: min(560px, 100%); margin: 0 auto; display: grid; gap: var(--space-5); }
.mu-acct .sc-order-confirm__lede { color: var(--muted); }
.mu-acct .sc-page-header { display: grid; gap: var(--space-3); }
.mu-acct .sc-order-status__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--muted); font-size: var(--type-small); }
.mu-acct .sc-cta-row { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.mu-acct .sc-btn-lg { --btn-h: 54px; }
.mu-acct .sc-btn-ghost { background: transparent; color: var(--text); border-color: var(--border); }
.mu-acct .sc-btn-ghost:hover { border-color: var(--text); opacity: 1; }
.mu-acct .sc-order-detail { display: grid; gap: var(--space-5); }
.mu-acct .sc-summary, .mu-acct .sc-order-detail__timeline {
  display: grid; gap: var(--space-4); padding: var(--space-6); border: var(--border-w) solid var(--border);
  border-radius: var(--radius-card); background: var(--surface);
}
.mu-acct .sc-summary-lines { display: grid; gap: var(--space-4); }
.mu-acct .sc-summary-line { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); }
.mu-acct .sc-summary-line__media { position: relative; width: 64px; height: 64px; }
.mu-acct .sc-summary-line__thumb { display: block; width: 100%; height: 100%; overflow: hidden; border-radius: var(--radius-img); border: var(--border-w) solid var(--border); background: var(--bg); }
.mu-acct .sc-summary-line__qty {
  position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
  display: grid; place-items: center; background: var(--text); color: var(--bg); font-size: 11px; font-weight: 600;
}
.mu-acct .sc-summary-line__body { display: grid; gap: 2px; min-width: 0; }
.mu-acct .sc-summary-line__title { font-weight: 500; overflow-wrap: anywhere; }
.mu-acct .sc-summary-line__variant, .mu-acct .sc-summary__hint { color: var(--muted); font-size: var(--type-small); }
.mu-acct .sc-summary-line__price, .mu-acct .sc-summary__row-value, .mu-acct .sc-summary__total-value { font-variant-numeric: tabular-nums; white-space: nowrap; }
.mu-acct .sc-summary__divider { margin: 0; border: 0; border-top: var(--border-w) solid var(--border); }
.mu-acct .sc-summary__row, .mu-acct .sc-summary__total { display: flex; justify-content: space-between; gap: var(--space-4); }
.mu-acct .sc-summary__row { font-size: var(--type-small); }
.mu-acct .sc-summary__total { align-items: baseline; font-weight: 600; }
.mu-acct .sc-summary__total-value { font-family: var(--font-heading); font-size: 1.35em; }
.mu-acct .sc-order-detail__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); }
.mu-acct .sc-order-detail__label { font-size: var(--type-label); font-weight: var(--label-weight); letter-spacing: var(--label-tracking); text-transform: var(--label-case); }
.mu-acct .sc-order-detail__address { font-style: normal; color: var(--muted); line-height: 1.6; }
.mu-acct .sc-order-detail__track { display: grid; gap: 8px; margin: 0; font-size: var(--type-small); }
.mu-acct .sc-order-detail__track-row { display: flex; justify-content: space-between; gap: var(--space-4); }
.mu-acct .sc-order-detail__track-row dt { color: var(--muted); }
.mu-acct .sc-order-detail__track-row dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.mu-acct .sc-badge--success { color: #1F7A4D; border-color: currentColor; }
.mu-acct .sc-timeline { list-style: none; margin: 0; padding: 0 0 0 var(--space-4); display: grid; gap: var(--space-3); border-left: var(--border-w) solid var(--border); }
.mu-acct .sc-timeline__item { position: relative; display: flex; justify-content: space-between; gap: var(--space-3); font-size: var(--type-small); }
.mu-acct .sc-timeline__item::before { content: ""; position: absolute; left: calc(-1 * var(--space-4) - 4px); top: 0.55em; width: 7px; height: 7px; border-radius: 50%; background: var(--text); }
.mu-acct .sc-timeline__when { color: var(--muted); white-space: nowrap; }
.mu-acct .sc-notice { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: var(--radius-input); border: var(--border-w) solid var(--border); background: var(--surface); color: var(--muted); font-size: var(--type-small); }
.mu-acct .sc-notice svg { flex: none; margin-top: 1px; }
.mu-acct .sc-img-placeholder { display: block; background: var(--surface); }
