/*
Theme Name: Showmeyourmumu Com Mirror Theme
Theme URI: https://showmeyourmumu.com/
Author: SiteForge WP
Description: Full-site WooCommerce mirror of showmeyourmumu.com — high-fidelity storefront () with mega nav, catalog, PDP, cart/checkout, account & policy pages, plus pages/ file routing.
Version: 1.0.41
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
License: For operators who hold full copyright authorization for the source site
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: siteforge
Tags: e-commerce, woocommerce, custom-menu, custom-logo, right-sidebar, translation-ready
*/

/* ==========================================================================
   1 · Design tokens
   ========================================================================== */
:root {
  --wc-bg: #ffffff;
  --wc-text: #171a18;
  --wc-accent: #000000;
  --wc-border: color-mix(in srgb, var(--wc-text) 18%, transparent);
  --wc-border-strong: color-mix(in srgb, var(--wc-text) 38%, transparent);
  --wc-muted: color-mix(in srgb, var(--wc-text) 62%, transparent);
  --wc-surface: color-mix(in srgb, var(--wc-text) 4%, var(--wc-bg));
  --wc-surface-2: color-mix(in srgb, var(--wc-text) 8%, var(--wc-bg));
  --wc-radius: 4px;
  --wc-radius-lg: calc(var(--wc-radius) * 3);
  --wc-width: 1200px;
  --wc-width-wide: 1440px;
  --wc-gutter: clamp(16px, 3.2vw, 48px);
  --wc-space-1: 4px; --wc-space-2: 8px; --wc-space-3: 12px; --wc-space-4: 16px;
  --wc-space-5: 24px; --wc-space-6: 32px; --wc-space-7: 48px; --wc-space-8: 64px;
  --wc-header-h: 64px;
  --wc-announcement-h: 38px;
  --wc-ease: cubic-bezier(.22,.61,.36,1);
  --wc-shadow: 0 18px 48px rgba(0,0,0,.12);
  --wc-shadow-sm: 0 4px 16px rgba(0,0,0,.08);
  --wc-font: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --wc-font-display: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --wc-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ==========================================================================
   2 · Reset & base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.woocommerce-theme {
  margin: 0; background: var(--wc-bg); color: var(--wc-text);
  font-family: var(--wc-font); font-size: 15px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body.woocommerce-theme.is-locked { overflow: hidden; }
/* 勿写 display:block —— 未分层规则会压过源站 Tailwind 的 .hidden / md:hidden，导致双头图、双导航 */
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: none; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .6em; font-weight: 500; line-height: 1.2; letter-spacing: .01em; }
h1 { font-size: clamp(28px, 4vw, 46px); } h2 { font-size: clamp(22px, 2.6vw, 34px); }
h3 { font-size: clamp(18px, 2vw, 24px); } h4 { font-size: 17px; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
/* 捕获区勿套 WP/主题列表缩进，否则集合网格会整体偏左、列宽错乱 */
.woocommerce-captured ul, .woocommerce-captured ol { margin: 0; padding-left: 0; }
.woocommerce-captured ul[class], .woocommerce-captured ol[class] { list-style: none; }
figure { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; }
table { border-collapse: collapse; width: 100%; }
blockquote { margin: 1.4em 0; padding-left: 18px; border-left: 2px solid var(--wc-border); color: var(--wc-muted); }
hr { border: 0; border-top: 1px solid var(--wc-border); margin: var(--wc-space-6) 0; }
::selection { background: var(--wc-text); color: var(--wc-bg); }

/* ==========================================================================
   3 · Utilities
   ========================================================================== */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; z-index: 100000; padding: 12px 16px; background: var(--wc-bg); color: var(--wc-text); box-shadow: var(--wc-shadow-sm); }
.woocommerce-container, .container { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width)); margin-inline: auto; }
.woocommerce-container--wide { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin-inline: auto; }
.woocommerce-container--full { width: 100%; }
.woocommerce-main { padding-block: clamp(32px, 6vw, 88px); min-height: 55vh; }
/* 首页捕获区块常含全宽英雄/网格，去掉主栏上下 padding，避免错位与裁切 */
body.home .woocommerce-main,
body.front-page .woocommerce-main,
.woocommerce-captured > .woocommerce-main,
#primary.woocommerce-captured .woocommerce-main { padding-block: 0; min-height: 0; }
.woocommerce-hidden, [hidden] { display: none !important; }
.woocommerce-text-center { text-align: center; }
.woocommerce-text-right { text-align: right; }
.woocommerce-muted { color: var(--wc-muted); }
.woocommerce-stack > * + * { margin-top: var(--wc-space-4); }
.woocommerce-row { display: flex; align-items: center; gap: var(--wc-space-3); flex-wrap: wrap; }
.woocommerce-row--between { justify-content: space-between; }
.woocommerce-ratio { position: relative; overflow: hidden; }
.woocommerce-ratio > img, .woocommerce-ratio > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v-media-ratio-desktop-169 { aspect-ratio: 16 / 9; }
.v-media-ratio-desktop-11 { aspect-ratio: 1 / 1; }
.v-media-ratio-desktop-45 { aspect-ratio: 4 / 5; }
.v-media-ratio-desktop-34 { aspect-ratio: 3 / 4; }
.v-media-ratio-mobile-916 { aspect-ratio: 9 / 16; }
.v-media-ratio-mobile-11 { aspect-ratio: 1 / 1; }
@media (min-width: 750px) { .v-media-ratio-mobile-916 { aspect-ratio: auto; } }

/* ==========================================================================
   4 · Buttons, links, forms
   ========================================================================== */
.wc-btn, .button, .wp-block-button__link, button[type=submit], input[type=submit] {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 11px 22px; border: 1px solid var(--wc-text);
  border-radius: var(--wc-radius); background: var(--wc-text); color: var(--wc-bg);
  font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  transition: background .2s var(--wc-ease), color .2s var(--wc-ease), border-color .2s var(--wc-ease), opacity .2s;
}
.wc-btn:hover, .button:hover, button[type=submit]:hover { background: transparent; color: var(--wc-text); }
.wc-btn--outline, .button.outline { background: transparent; color: var(--wc-text); }
.wc-btn--outline:hover { background: var(--wc-text); color: var(--wc-bg); }
.wc-btn--ghost { border-color: var(--wc-border); background: transparent; color: var(--wc-text); }
.wc-btn--ghost:hover { border-color: var(--wc-text); background: transparent; color: var(--wc-text); }
.wc-btn--text { border: 0; background: none; color: inherit; padding: 4px 0; min-height: 0; text-transform: none; letter-spacing: 0; text-decoration: underline; text-underline-offset: 4px; }
.wc-btn--text:hover { background: none; color: var(--wc-text); opacity: .7; }
.wc-btn[disabled], button[disabled], .button.disabled, .button[disabled] { opacity: .45; cursor: not-allowed; pointer-events: none; }
.wc-btn--block { width: 100%; }
.wc-btn.is-loading { position: relative; color: transparent !important; }
.wc-btn.is-loading::after { content: ''; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: wc-spin .7s linear infinite; color: var(--wc-bg); }
@keyframes wc-spin { to { transform: rotate(360deg); } }

input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=search], input[type=url], select, textarea {
  width: 100%; min-height: 44px; padding: 11px 14px; background: var(--wc-bg);
  border: 1px solid var(--wc-border); border-radius: var(--wc-radius); color: var(--wc-text);
  transition: border-color .2s, box-shadow .2s; appearance: none;
}
textarea { min-height: 120px; resize: vertical; }
select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171a18' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 38px; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible {
  outline: 2px solid var(--wc-text); outline-offset: 2px;
}
label { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--wc-muted); margin-bottom: 6px; }
.field, .form-row { margin-bottom: var(--wc-space-4); }
.field--inline { display: flex; align-items: center; gap: 10px; }
.field--inline label { margin: 0; text-transform: none; letter-spacing: 0; font-size: 14px; color: var(--wc-text); }
.form-row-wide { width: 100%; }
.form-row-first, .form-row-last { width: 100%; }
@media (min-width: 750px) { .woocommerce-form-row--first { float: left; width: 48%; } .woocommerce-form-row--last { float: right; width: 48%; } .woocommerce-form-row--first + .woocommerce-form-row--last + * { clear: both; } }
.required { color: #b3261e; }

/* ==========================================================================
   5 · Announcement bar
   ========================================================================== */
.shopify-section-group-header-group, .shopify-section-group-header-group, .woocommerce-section-group-header-group, .section-banner { position: relative; z-index: 60; }
.banner { background: var(--wc-surface); color: var(--wc-text); font-size: 12.5px; letter-spacing: .04em; }
.banner__inside { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin-inline: auto; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: var(--wc-announcement-h); padding-block: 6px; text-align: center; }
.banner-content-block, c-banner-content { display: block; }
.banner__close { position: absolute; right: max(12px, calc((100% - var(--wc-width-wide)) / 2)); top: 50%; transform: translateY(-50%); width: 28px; height: 28px; display: grid; place-items: center; opacity: .7; }
.banner__close:hover { opacity: 1; }
.banner__close svg { width: 14px; height: 14px; }
.woocommerce-announcement--closed { display: none; }

/* ==========================================================================
   6 · Header / mega navigation
   ========================================================================== */
/* 头栏整块：文档流自然高度（勿用过大 min-height，否则导航下会留白条） */
/*
 * 头栏一直吸顶：fixed + #sf-header-spacer 占位（避免压住正文）。
 * mega / 搜索下拉需 overflow:visible。
 */
html body.siteforge-theme {
  --sf-header-stack: 120px;
}
.woocommerce-header-capture {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  background: #fff !important;
  overflow: visible !important;
  transition: box-shadow .25s ease;
  transform: none !important;
}
.woocommerce-header-capture.is-scrolled,
.woocommerce-header-capture.is-stuck {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
#sf-header-spacer {
  display: block !important;
  width: 100% !important;
  height: var(--sf-header-stack, 120px) !important;
  min-height: var(--sf-header-stack, 120px) !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
  visibility: hidden;
}
.woocommerce-header-capture sticky-header,
.woocommerce-header-capture header,
.woocommerce-header-capture .header-wrapper,
.woocommerce-header-capture [class*="header-wrapper"] {
  position: relative !important;
  top: auto !important;
}
html body.siteforge-theme .woocommerce-header-capture .promo-bar,
html body.siteforge-theme .promo-bar,
body.promo-bar-active .woocommerce-header-capture .promo-bar {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  z-index: 52;
}
html body.siteforge-theme .woocommerce-header-capture section.header,
html body.siteforge-theme .woocommerce-header-capture .header,
html body.siteforge-theme section.header,
html body.siteforge-theme .header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-height: none !important;
  z-index: 1100 !important; /* 高于 nav，保证搜索下拉不被盖住 */
  overflow: visible !important;
  background: #fff !important;
}
body.promo-bar-active .woocommerce-header-capture section.header,
body.promo-bar-active .woocommerce-header-capture .header {
  top: auto !important;
}
html body.siteforge-theme .woocommerce-header-capture section.header__menu,
html body.siteforge-theme .woocommerce-header-capture section.header__menu.active,
html body.siteforge-theme .woocommerce-header-capture section.header__menu[data-menu-mumu],
html body.siteforge-theme section.header__menu.active,
html body.siteforge-theme .header__menu.active {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  z-index: 50;
  background: #fff !important;
  box-shadow: 0 2px 2px rgba(235, 235, 224, 0.5);
}
body.promo-bar-active .woocommerce-header-capture section.header__menu,
body.promo-bar-active .woocommerce-header-capture section.header__menu.active {
  top: auto !important;
}
#primary.woocommerce-captured,
#MainContent.woocommerce-main,
body.home #MainContent,
body.home #primary,
html body.siteforge-theme #MainContent,
html body.siteforge-theme #primary,
html body.siteforge-theme .woocommerce-pdp-capture {
  margin-top: 0 !important;
  padding-top: 0 !important;
  position: relative;
  z-index: 1;
}
#MainContent > :first-child { margin-top: 0; padding-top: 0; }
/* 非 active 菜单不占高 */
.woocommerce-header-capture section.header__menu:not(.active) {
  display: none !important;
}

.site-header, .section-header { position: sticky; top: 0; z-index: 50; background: var(--wc-bg); border-bottom: 1px solid var(--wc-border); transition: transform .3s var(--wc-ease), background .3s; }
.site-header.is-scrolled { box-shadow: var(--wc-shadow-sm); }
body.is-scroll-down .site-header { transform: translateY(-100%); }
.header__inner { display: flex; align-items: center; gap: var(--wc-space-4); min-height: var(--wc-header-h); width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin-inline: auto; }
.header__logo { flex: 0 0 auto; display: inline-flex; align-items: center; }
/* 勿压扁 Mumu 源站 logo（含 SHOW ME YOUR 小字）；源站 max-height:~30–43px */
.header__logo svg, .header__logo img { height: auto; width: auto; max-height: 43px; }
.header__burger { display: none; width: 40px; height: 40px; place-items: center; margin-left: -8px; }
.header__burger svg { width: 20px; height: 20px; }
.header__nav { flex: 1 1 auto; }
/* SiteForge 自建导航是 ul；Mumu 捕获壳用 section.header__menu，勿互相覆盖 */
ul.header__menu { display: flex; align-items: center; gap: clamp(12px, 1.6vw, 26px); margin: 0; padding: 0; list-style: none; }
ul.header__menu > li { position: relative; }
ul.header__menu > li > a { display: inline-flex; align-items: center; gap: 6px; padding: 20px 0; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
ul.header__menu > li > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 14px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s var(--wc-ease); }
ul.header__menu > li > a:hover::after, ul.header__menu > li.is-open > a::after, ul.header__menu > li.current-menu-item > a::after { transform: scaleX(1); }
/* Mumu：源站 CSS 要求 section.header__menu.active 才显示主导航 */
.woocommerce-header-capture section.header__menu.active {
  display: block !important;
}
/* Bridal / alternate menus stay hidden until toggled; Mumu defaults visible below */
.woocommerce-header-capture section.header__menu:not(.active):not([data-menu-mumu]) {
  display: none !important;
}
.woocommerce-header-capture .header__menu-list.active {
  display: flex !important;
  justify-content: center;
}

/* —— Header fidelity vs showmeyourmumu.com —— */
#shopify-section-promo-bar,
.woocommerce-header-capture #shopify-section-promo-bar {
  display: block !important;
  width: 100%;
  margin: 0;
  padding: 0;
}
.woocommerce-header-capture .promo-bar,
body.promo-bar-active .promo-bar {
  background: #fff7f5 !important;
  min-height: 45px;
  height: 45px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  position: relative;
  z-index: 898;
  margin: 0 !important;
  padding: 0 16px !important;
  box-sizing: border-box;
}
.woocommerce-header-capture .promo-bar__contents-container,
.woocommerce-header-capture .promo-bar__content,
.woocommerce-header-capture .promo-bar__slider {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
}
.woocommerce-header-capture .promo-bar__copy {
  font-size: 13px !important;
  line-height: 1.2 !important;
  color: #000 !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 749px) {
  .woocommerce-header-capture .promo-bar__copy {
    white-space: normal;
    font-size: 12px !important;
  }
}
.woocommerce-header-capture .header__top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 50px !important;
  min-height: 70px;
}
.woocommerce-header-capture .header__top > div,
.woocommerce-header-capture .header__top > nav {
  flex: 1 1 0 !important;
}
.woocommerce-header-capture .header__logo {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 10px 0 !important;
}
/* 源站：无 .active 的 logo 链被 display:none；默认点亮 Mumu logo */
.woocommerce-header-capture .header__logo a.active[data-menu-mumu-logo],
.woocommerce-header-capture .header__logo a.active,
.woocommerce-header-capture .header__logo a[data-menu-mumu-logo]:not(.header__logo-bridal) {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.woocommerce-header-capture .header__logo a.header__logo-bridal:not(.active) {
  display: none !important;
}
/* 兜底：捕获壳漏写 .active 时仍显示 Mumu 主导航 */
.woocommerce-header-capture section.header__menu[data-menu-mumu] {
  display: block !important;
}
.woocommerce-header-capture .header__logo svg {
  max-height: 43px !important;
  height: auto !important;
  width: auto !important;
  min-width: 118px !important;
  display: block !important;
  margin: 0 auto !important;
}
.woocommerce-header-capture .header__menu-select {
  display: block !important;
}
.woocommerce-header-capture .header__menu-select-link {
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #000 !important;
  font-weight: 500;
}
.woocommerce-header-capture .header__menu-select-item.active:before,
.woocommerce-header-capture .header__menu-select-item:hover:before {
  opacity: 1 !important;
}
.woocommerce-header-capture .header__secondary-nav {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 4px;
}
.woocommerce-header-capture .header__rewards-balance-wrap {
  width: auto !important;
  max-width: none !important;
  border-radius: 0 !important;
  gap: 8px;
  padding: 0 6px !important;
  margin-left: 4px !important;
}
.woocommerce-header-capture .header__rewards-balance {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.15;
  border-left: 1px solid #ddd;
  padding-left: 10px;
  margin-left: 2px;
}
.woocommerce-header-capture .header__rewards-balance-label {
  font-size: 11px;
  color: #000;
  white-space: nowrap;
}
.woocommerce-header-capture .header__rewards-balance-amount {
  font-size: 13px;
  font-weight: 600;
  color: #d81961;
  white-space: nowrap;
}
@media (max-width: 989px) {
  .woocommerce-header-capture .header__rewards-balance { display: none !important; }
  .woocommerce-header-capture .header__top { padding: 0 12px !important; }
}
.header__actions { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.header__action-link { position: relative; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; transition: background .2s; }
.header__action-link:hover { background: var(--wc-surface-2); }
.header__action-link svg { width: 20px; height: 20px; }
.header__action-link--cart-count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--wc-text); color: var(--wc-bg); font-size: 10.5px; line-height: 18px; text-align: center; font-variant-numeric: tabular-nums; }
.header__action-link--cart-count[data-empty="true"] { display: none; }

/* Header cart: always show bag icon; show qty badge when non-empty */
.header__cart-link,
a[data-header-cart] {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  padding-right: 2px;
  text-decoration: none;
  color: inherit;
  line-height: 1;
}
.header__cart-link .header__cart-icon,
a[data-header-cart] .header__cart-icon,
.header__cart-link > svg,
a[data-header-cart] > svg {
  width: 18px;
  height: 22px;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.header__cart-link .header__cart-count,
.header__cart-link .header__action-link--cart-count,
a[data-header-cart] .header__cart-count,
a[data-header-cart] .header__action-link--cart-count {
  position: absolute !important;
  top: -2px !important;
  right: -6px !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums;
  box-sizing: border-box;
}
.header__cart-link .header__cart-count[data-empty="true"],
.header__cart-link .header__action-link--cart-count[data-empty="true"],
a[data-header-cart] .header__cart-count[data-empty="true"],
a[data-header-cart] .header__action-link--cart-count[data-empty="true"] {
  display: none !important;
}
.header__cart-link[data-empty="false"] .header__cart-count,
.header__cart-link[data-empty="false"] .header__action-link--cart-count,
a[data-header-cart][data-empty="false"] .header__cart-count,
a[data-header-cart][data-empty="false"] .header__action-link--cart-count,
.header__cart-link .header__cart-count[data-empty="false"],
.header__cart-link .header__action-link--cart-count[data-empty="false"],
a[data-header-cart] .header__cart-count[data-empty="false"],
a[data-header-cart] .header__action-link--cart-count[data-empty="false"] {
  display: inline-block !important;
}

/* Woocommerce stylesheet */
.header__panel,
.header__submenu,
details.mega-menu > .mega-menu__content,
.mega-menu__content {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 40;
  background: #000; color: #fff; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 40px rgba(0,0,0,.45); padding: clamp(20px, 3vw, 44px) 0;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .25s var(--wc-ease), transform .25s var(--wc-ease), visibility .25s;
}
.header__menu > li.is-open > .header__panel,
.header__menu > li:hover > .header__panel,
details.mega-menu[open] > .mega-menu__content,
details[open] > .mega-menu__content {
  opacity: 1; visibility: visible; transform: translateY(0);
}
@media screen and (min-width: 990px) {
  .woocommerce-header-capture details.mega-menu:hover > .mega-menu__content,
  .woocommerce-header-capture details.mega-menu:focus-within > .mega-menu__content,
  .woocommerce-header-capture details.mega-menu:hover > .mega-menu__content,
  .woocommerce-header-capture details.mega-menu:focus-within > .mega-menu__content {
    opacity: 1; visibility: visible; transform: translateY(0);
  }
  .woocommerce-header-capture details.mega-menu > summary a,
  .woocommerce-header-capture details.mega-menu > summary a {
    pointer-events: none;
  }
  .woocommerce-header-capture details.mega-menu > summary,
  .woocommerce-header-capture details.mega-menu > summary {
    cursor: pointer;
  }
}
/* 捕获头栏：恢复被误藏的顶级菜单；不强制 display，以免压过源站移动端隐藏 */
.woocommerce-header-capture details.mega-menu,
.woocommerce-header-capture .header__inline-menu > li,
.woocommerce-header-capture .list-menu--inline > li {
  position: relative;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Mumu mega：menu-item 必须 static，下拉相对 section.header__menu（fixed）全宽展开；relative 会把下拉挤成窄条并叠进详情页 */
.woocommerce-header-capture .header__menu-item {
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.woocommerce-header-capture .header__dropdown-container {
  display: none !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 100% !important;
  width: 100% !important;
  max-width: none !important;
  z-index: 997 !important;
  background: #fff !important;
  border-top: 2px solid #ecece1 !important;
  border-bottom: 1px solid #ecece1 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}
.woocommerce-header-capture .header__menu-item:hover > .header__dropdown-container,
.woocommerce-header-capture .header__menu-item:focus-within > .header__dropdown-container {
  display: block !important;
}
.woocommerce-header-capture section.header__menu.active {
  overflow: visible !important;
}
.woocommerce-header-capture .header__dropdown-container-inner {
  max-width: 1680px;
  margin: 0 auto;
  padding: 40px 50px 0;
  display: flex !important;
  justify-content: center;
  background: #fff;
}
.woocommerce-header-capture header-menu,
.woocommerce-header-capture header-menu {
  display: block;
}
.woocommerce-header-capture sticky-header:not(:defined),
.woocommerce-header-capture header-drawer:not(:defined) {
  display: contents;
}
.header__panel-inner { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin-inline: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--wc-space-6); }
.header__panel-col h3, .header__panel-title { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--wc-muted); margin-bottom: var(--wc-space-3); }
.header__panel-col ul { list-style: none; margin: 0; padding: 0; }
.header__panel-col li + li { margin-top: 8px; }
.header__panel-col a { font-size: 14px; }
.header__panel-col a:hover { text-decoration: underline; text-underline-offset: 4px; }
.header__submenu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 4px 0 0; box-shadow: none; }

/* ==========================================================================
   7 · Search overlay & localization modal
   ========================================================================== */
.woocommerce-overlay { position: fixed; inset: 0; z-index: 1190; background: rgba(0,0,0,.42); opacity: 0; visibility: hidden; transition: opacity .25s var(--wc-ease), visibility .25s; }
.woocommerce-overlay.is-open { opacity: 1; visibility: visible; }
.woocommerce-search, .woocommerce-modal {
  position: fixed; z-index: 1200; left: 50%; transform: translateX(-50%);
  top: 0; width: min(100%, var(--wc-width-wide)); background: var(--wc-bg);
  box-shadow: var(--wc-shadow); opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .25s var(--wc-ease), transform .25s var(--wc-ease), visibility .25s;
}
/* Mumu 源站 .header__search z-index:10，会被 section.header__menu 盖住 */
.woocommerce-header-capture .header__search,
.woocommerce-header-capture [data-search-form].header__search,
section.header .header__search,
.header__search:not(.header__search--mobile) {
  z-index: 1200 !important;
  position: absolute !important;
}
.woocommerce-search { transform: translate(-50%, -12px); padding: clamp(20px, 4vw, 44px); }
.woocommerce-search.is-open, .woocommerce-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.woocommerce-search.is-open { transform: translate(-50%, 0); }
.woocommerce-search__form { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--wc-border-strong); padding-bottom: 12px; }
.woocommerce-search__form input { border: 0; padding-left: 0; font-size: clamp(18px, 2.4vw, 30px); min-height: 52px; background: none; }
.woocommerce-search__form input:focus-visible { outline: none; }
.woocommerce-search__results { max-height: 56vh; overflow: auto; margin-top: var(--wc-space-4); }
.woocommerce-search__results a { display: block; padding: 10px 0; border-bottom: 1px solid var(--wc-border); font-size: 14px; }
.woocommerce-search__results a:hover { padding-left: 6px; }
.woocommerce-search__results mark { background: none; color: var(--wc-text); font-weight: 600; }
.woocommerce-search__empty { color: var(--wc-muted); padding: 14px 0; }
.woocommerce-modal { top: 50%; transform: translate(-50%, -50%); max-width: 520px; padding: clamp(22px, 3vw, 38px); text-align: center; }
.woocommerce-modal.is-open { opacity: 1; visibility: visible; transform: translate(-50%, -50%); }
.woocommerce-modal h2 { font-size: 22px; }
.woocommerce-modal__actions { display: flex; gap: 10px; justify-content: center; margin-top: var(--wc-space-5); }

/* ==========================================================================
   8 · Mobile drawer
   ========================================================================== */
.woocommerce-drawer { position: fixed; inset: 0 auto 0 0; z-index: 96; width: min(88vw, 420px); background: var(--wc-bg); transform: translateX(-102%); transition: transform .32s var(--wc-ease); display: flex; flex-direction: column; }
.woocommerce-drawer.is-open { transform: translateX(0); }
.woocommerce-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 14px var(--wc-gutter); border-bottom: 1px solid var(--wc-border); }
.woocommerce-drawer__body { flex: 1 1 auto; overflow-y: auto; padding: var(--wc-space-4) var(--wc-gutter) var(--wc-space-7); }
.woocommerce-drawer__nav { list-style: none; margin: 0; padding: 0; }
.woocommerce-drawer__nav > li { border-bottom: 1px solid var(--wc-border); }
.woocommerce-drawer__nav > li > a, .woocommerce-drawer__toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 15px 0; font-size: 15px; letter-spacing: .04em; }
.woocommerce-drawer__sub { list-style: none; margin: 0; padding: 0 0 10px 12px; display: none; }
.woocommerce-drawer__sub.is-open { display: block; }
.woocommerce-drawer__sub a { display: block; padding: 8px 0; font-size: 14px; color: var(--wc-muted); }
.woocommerce-drawer__foot { padding: var(--wc-space-4) var(--wc-gutter); border-top: 1px solid var(--wc-border); display: grid; gap: 10px; }

/* Woocommerce stylesheet */
.woocommerce-captured { overflow-x: clip; }
.woocommerce-captured [class*="woocommerce-section"], .woocommerce-captured section { position: relative; }
.woocommerce-captured c-section-text-gallery-media, .woocommerce-captured c-section-image-with-text,
.woocommerce-captured c-section-collection-list, .woocommerce-captured c-image-with-text,
.woocommerce-captured c-text-gallery-media, .woocommerce-captured c-banner-content,
.woocommerce-captured c-product-card, .woocommerce-captured c-accordion, .woocommerce-captured c-carousel {
  display: block;
}
.woocommerce-captured .block-content-container { padding-block: clamp(24px, 4vw, 64px); }
.woocommerce-captured .inside { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width)); margin-inline: auto; }
.woocommerce-captured .title { margin: 0 0 var(--wc-space-5); font-size: clamp(22px, 2.6vw, 34px); }
.woocommerce-captured .v-text-align-center { text-align: center; }
.woocommerce-captured .v-text-align-center .inside > .title { margin-inline: auto; }
.woocommerce-captured .v-container-full-width-mobile > .inside,
.woocommerce-captured .v-container-full-width-desktop > .inside { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); }
.woocommerce-captured .content-container[style*="--background-color"] { background: var(--wc-surface); }
.woocommerce-captured .media, .woocommerce-captured .media > img, .woocommerce-captured .media > video { width: 100%; }
.woocommerce-captured .section-text-gallery-media .media { border-radius: var(--wc-radius); overflow: hidden; }
/* 未升级的 custom element 默认 inline，会把图卡缩成左列 */
.woocommerce-captured :where(:not(:defined)) {
  display: block;
  visibility: visible !important;
  opacity: 1;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* Woocommerce stylesheet */
.woocommerce-captured :not(:defined),
.woocommerce-header-capture :not(:defined),
#MainContent :not(:defined) {
  visibility: visible !important;
  opacity: 1 !important;
}
.woocommerce-captured picture, .woocommerce-captured figure { display: block; margin: 0; width: 100%; max-width: 100%; }
.woocommerce-captured picture img, .woocommerce-captured figure img,
.woocommerce-captured .woocommerce-section img {
  max-width: 100%;
  display: block;
}
.woocommerce-captured picture img:not(.object-cover):not([class*="absolute"]):not([style*="object-fit"]),
.woocommerce-captured figure img:not(.object-cover):not([class*="absolute"]):not([style*="object-fit"]),
.woocommerce-captured .woocommerce-section img:not(.object-cover):not([class*="absolute"]):not([style*="object-fit"]) {
  height: auto;
}
.woocommerce-captured img.object-cover,
.woocommerce-captured .object-cover,
.woocommerce-captured [class*="hero"] img,
.woocommerce-captured [class*="slideshow"] img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}
.woocommerce-captured .woocommerce-section > *:not(script):not(style):not(link) {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* sourceFidelity: product/facets grid from captured CSS */

.woocommerce-pdp-capture .wc-pdp-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 2.4vw, 36px);
  width: min(calc(100% - 48px), 1360px);
  max-width: 100%;
  margin: 24px auto 40px;
  list-style: none;
  align-items: start;
}
.woocommerce-pdp-capture .wc-pdp-stack {
  display: flex; flex-direction: column; gap: 10px; min-width: 0;
}
@media screen and (min-width: 750px) {
  .woocommerce-pdp-capture .wc-pdp-stack {
    display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
  }
}
.woocommerce-pdp-capture .wc-pdp-stack__item,
.woocommerce-pdp-capture .wc-pdp-stack img {
  width: 100%; height: auto; display: block; margin: 0;
}
@media screen and (min-width: 750px) {
  .woocommerce-pdp-capture .wc-pdp-stack__item {
    aspect-ratio: 3 / 4; background: #e8e8e8; overflow: hidden; margin: 0;
  }
  .woocommerce-pdp-capture .wc-pdp-stack__item img {
    width: 100%; height: 100%; object-fit: cover;
  }
}
.woocommerce-pdp-capture .wc-pdp-buy { min-width: 0; }
.woocommerce-pdp-capture .wc-pdp-thumbs,
.woocommerce-pdp-capture [data-woocommerce-pdp-thumbs] {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-self: start;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  width: auto;
  max-width: 100%;
  max-height: none;
  height: auto !important;
  min-height: 0 !important;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
}
.woocommerce-pdp-capture .wc-pdp-thumb,
.woocommerce-pdp-capture [data-woocommerce-pdp-thumbs] > a,
.woocommerce-pdp-capture [data-woocommerce-pdp-thumbs] > button {
  display: block !important;
  flex: 0 0 auto !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #ddd !important;
  background: #f3f3f3 !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  z-index: 5 !important;
}
.woocommerce-pdp-capture .wc-pdp-thumbs img,
.woocommerce-pdp-capture [data-woocommerce-pdp-thumbs] img,
.woocommerce-pdp-capture .wc-pdp-thumb img {
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  clip: auto !important;
  clip-path: none !important;
  filter: none !important;
}
@media (min-width: 990px) {
  .woocommerce-pdp-capture .wc-pdp-layout {
    grid-template-columns: 72px minmax(0, 1.2fr) minmax(280px, 400px);
  }
  .woocommerce-pdp-capture .wc-pdp-thumbs,
  .woocommerce-pdp-capture [data-woocommerce-pdp-thumbs] {
    flex-direction: column !important;
    position: sticky; top: 88px;
    width: 72px !important;
    max-height: calc(100vh - 120px);
    overflow-x: hidden;
    overflow-y: auto;
  }
  .woocommerce-pdp-capture .wc-pdp-buy { position: sticky; top: 88px; }
}

/* Mumu gallery: hide leftover capture slides; keep thumb/main in sync via data-thumb hydrate */
.woocommerce-pdp-capture .product-gallery__slide[hidden],
.woocommerce-pdp-capture .product-gallery__slide[data-woocommerce-extra-slide],
.woocommerce-pdp-capture .product-gallery__slide[data-woocommerce-extra-slide="1"] {
  display: none !important;
}

/* Mumu native PDP: gallery | buy box 紧挨；允许评论等块换到下一行 */
.woocommerce-pdp-capture .product-main,
.woocommerce-pdp-capture .container--product-main.product-main {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important; /* 评论若误入 product-main，换行到底部，勿挤进中间 */
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 20px 64px !important;
  position: relative !important;
  min-height: 0 !important;
  gap: 28px 40px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.woocommerce-pdp-capture .product-main__info {
  flex: 0 0 360px !important;
  width: 360px !important;
  max-width: 400px !important;
  min-width: 300px !important;
  margin-left: 0 !important; /* 覆盖源站 margin-left:auto，避免中间大空白 */
  margin-right: 0 !important;
  position: sticky;
  top: 120px;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  z-index: 2;
  order: 2;
}
.woocommerce-pdp-capture .product-main .product-gallery,
.woocommerce-pdp-capture .product-main__gallery {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 680px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important; /* 缩略图+主图同行 */
  align-items: flex-start !important;
  gap: 12px;
  height: auto !important;
  min-height: 0;
  overflow: visible !important;
  position: relative !important;
  margin: 0 !important;
  order: 1;
}
/* 误入 product-main / 横排中间的评论：整行沉底，不占中间列、不叠标题 */
.woocommerce-pdp-capture .product-main > .wc-reviews,
.woocommerce-pdp-capture .product-main > .yotpo-reviews-section,
.woocommerce-pdp-capture .product-main > [data-woocommerce-reviews],
.woocommerce-pdp-capture .product-main > .complete-the-look-container,
.woocommerce-pdp-capture .product-main .wc-reviews,
.woocommerce-pdp-capture .product-main__gallery .wc-reviews,
.woocommerce-pdp-capture .product-main + .wc-reviews,
.woocommerce-pdp-capture .product-main ~ .wc-reviews {
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  order: 99 !important;
  margin: 48px 0 0 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  float: none !important;
  clear: both !important;
  align-self: stretch !important;
  z-index: 0 !important;
}
/* Left thumb rail — never hide when product-main is present */
.woocommerce-pdp-capture .product-main__gallery > [data-woocommerce-pdp-thumbs],
.woocommerce-pdp-capture .product-gallery-container > [data-woocommerce-pdp-thumbs],
.woocommerce-pdp-capture .product-main [data-woocommerce-pdp-thumbs].sf-pdp-thumbs,
.woocommerce-pdp-capture:has(.product-main) .wc-pdp-thumbs,
.woocommerce-pdp-capture:has(.product-main) [data-woocommerce-pdp-thumbs] {
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 72px !important;
  width: 72px !important;
  max-width: 72px !important;
  min-width: 72px !important;
  gap: 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-height: min(80vh, 720px);
  position: sticky !important;
  top: 100px;
  z-index: 3;
  order: -1;
  margin: 0 !important;
  padding: 0 !important;
  align-self: flex-start !important;
}
.woocommerce-pdp-capture:has(.product-main) .wc-pdp-stack {
  display: none !important;
}
/* Prefer our rail over native slick-dots (avoids empty 12.5% gutter) */
.woocommerce-pdp-capture:has([data-woocommerce-pdp-thumbs]) .product-gallery.slick-slider .slick-dots,
.woocommerce-pdp-capture:has([data-woocommerce-pdp-thumbs]) .slick-dots,
.woocommerce-pdp-capture .product-gallery__thumbslider {
  display: none !important;
}
/* 主图区：对齐源站 ~575px，避免全宽巨图 */
.woocommerce-pdp-capture .product-gallery-container,
.woocommerce-pdp-capture .product-gallery.slick-slider,
.woocommerce-pdp-capture .product-main__gallery > .product-gallery {
  flex: 1 1 auto !important;
  min-width: 280px !important;
  width: 100% !important;
  max-width: 575px !important;
  margin-left: 0 !important;
  position: relative !important;
}
/*
 * Source .product-gallery 在无 slick 时是 flex row-reverse，多 slide 会挤成窄条。
 * 不用 display:none（易被假 slick-initialized / 选择器失效搞成「大图全没」），
 * 改为层叠：当前张占位，其余 absolute+透明。
 */
.woocommerce-pdp-capture .product-gallery,
.woocommerce-pdp-capture .product-gallery[data-product-image-slider],
.woocommerce-pdp-capture .product-gallery.slick-slider {
  display: block !important;
  flex-direction: unset !important;
  justify-content: unset !important;
  width: 100% !important;
  max-width: 575px !important;
  position: relative !important;
  min-height: 360px !important;
  overflow: visible !important;
}
.woocommerce-pdp-capture .product-gallery .product-gallery__slide,
.woocommerce-pdp-capture .product-gallery [data-product-img-slide] {
  display: block !important;
  width: 100% !important;
  max-width: 575px !important;
  margin-left: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
/* 非当前张叠在下方（含 slick-track 内嵌，不限直接子级） */
.woocommerce-pdp-capture .product-gallery .product-gallery__slide:not(.is-active):not(.slick-current),
.woocommerce-pdp-capture .product-gallery [data-product-img-slide]:not(.is-active):not(.slick-current) {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.woocommerce-pdp-capture .product-gallery .product-gallery__slide.is-active,
.woocommerce-pdp-capture .product-gallery .product-gallery__slide.slick-current,
.woocommerce-pdp-capture .product-gallery [data-product-img-slide].is-active,
.woocommerce-pdp-capture .product-gallery [data-product-img-slide].slick-current {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}
/* 尚无 is-active：第一张占位，后续叠隐 */
.woocommerce-pdp-capture .product-gallery:not(:has(> .product-gallery__slide.is-active)):not(:has(> .product-gallery__slide.slick-current)):not(:has(> .product-gallery__slide.slick-active)) > .product-gallery__slide:not([hidden]):not([data-woocommerce-extra-slide]) {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2 !important;
}
.woocommerce-pdp-capture .product-gallery:not(:has(> .product-gallery__slide.is-active)):not(:has(> .product-gallery__slide.slick-current)):not(:has(> .product-gallery__slide.slick-active)) > .product-gallery__slide:not([hidden]):not([data-woocommerce-extra-slide]) ~ .product-gallery__slide {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
/* 保底主图宿主（PHP 注入） */
.woocommerce-pdp-capture .sf-pdp-main-host {
  display: block !important;
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 3 !important;
  width: 100% !important;
  max-width: 575px !important;
}
.woocommerce-pdp-capture .product-gallery .product-gallery__slide img,
.woocommerce-pdp-capture .product-gallery .product-gallery__img,
.woocommerce-pdp-capture .sf-pdp-main-host img {
  display: block !important;
  width: 100% !important;
  max-width: 575px !important;
  height: auto !important;
  min-height: 240px;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}
@media (min-width: 768px) {
  .woocommerce-pdp-capture .product-gallery.slick-slider .slick-list,
  .woocommerce-pdp-capture .product-gallery__slide:not(.slick-slide),
  .woocommerce-pdp-capture .product-gallery.slick-slider .slick-slide {
    max-width: 575px !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
  .woocommerce-pdp-capture .product-gallery-container,
  .woocommerce-pdp-capture .product-gallery.slick-slider,
  .woocommerce-pdp-capture .product-gallery {
    width: 100% !important;
    max-width: 575px !important;
  }
}
@media (min-width: 1200px) {
  .woocommerce-pdp-capture .product-main,
  .woocommerce-pdp-capture .container--product-main.product-main {
    max-width: 1280px;
  }
}
.woocommerce-pdp-capture .product-main__gallery img,
.woocommerce-pdp-capture .product-gallery-container img,
.woocommerce-pdp-capture .product-gallery__slide img,
.woocommerce-pdp-capture .product-gallery__img {
  max-width: 575px !important;
  width: 100% !important;
  height: auto !important;
  max-height: min(78vh, 820px) !important;
  display: block !important;
  object-fit: cover !important;
}
/* 放大镜锚在主图容器右上角，不跟着掉队 */
.woocommerce-pdp-capture .product-gallery-container,
.woocommerce-pdp-capture .product-gallery {
  position: relative !important;
}
/* Desktop buy box must stay a sibling of gallery — never collapse with mobile heading */
@media (min-width: 990px) {
  .woocommerce-pdp-capture .product-heading--mobile {
    display: none !important;
  }
  .woocommerce-pdp-capture .product-heading--desktop,
  .woocommerce-pdp-capture .product-main__info .product-heading--desktop {
    display: block !important;
  }
  .woocommerce-pdp-capture .product-main__info {
    display: block !important;
  }
}
.woocommerce-pdp-capture:has(.product-main) .wc-pdp-layout,
.woocommerce-pdp-capture:has(.product-main) .wc-pdp-stack {
  display: none !important;
}
/* thumbs kept visible — see product-main__gallery flex rules above */
/* Keep reviews / complete-the-look below the buy box, not beside the gallery */
.woocommerce-pdp-capture > .yotpo-reviews-section,
.woocommerce-pdp-capture > [id*="pdp-reviews"],
.woocommerce-pdp-capture > .wc-reviews,
.woocommerce-pdp-capture .wc-reviews,
body.single-product .wc-reviews,
.woocommerce-pdp-capture > .complete-the-look-container,
.woocommerce-pdp-capture .complete-the-look-container,
.woocommerce-pdp-capture .complete-the-look-container--desktop,
.woocommerce-pdp-capture [data-complete-the-look-container] {
  display: block !important;
  clear: both !important;
  float: none !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 48px auto 72px !important;
  flex: none !important;
  order: unset !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  z-index: 1;
  grid-column: unset !important;
}
.woocommerce-pdp-capture .wc-reviews__title {
  position: relative !important;
  z-index: 1;
}
/* CTL 不得挤进 gallery 横排；若仍嵌套则隐藏在 gallery 内（PHP/JS 会挪走） */
.woocommerce-pdp-capture .product-main__gallery > .complete-the-look-container,
.woocommerce-pdp-capture .product-main__gallery > [data-complete-the-look-container] {
  display: none !important;
}
/* Capture already has breadcrumbs — hide theme duplicate */
body.single-product:has(.woocommerce-pdp-capture .breadcrumb) .wc-breadcrumbs {
  display: none !important;
}

/* Mumu PDP fidelity: circular colorways + SELECT A SIZE CTA (match showmeyourmumu.com) */
.woocommerce-pdp-capture .woocommerce-colorways,
.woocommerce-pdp-capture [data-woocommerce-colorways] {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 18px;
  max-width: 100%;
}
.woocommerce-pdp-capture .woocommerce-colorways .color-swatch,
.woocommerce-pdp-capture .woocommerce-colorways a.woocommerce-colorway {
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 1px solid #d0d0d0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: #f3f3f3;
}
.woocommerce-pdp-capture .woocommerce-colorways .color-swatch.is-current,
.woocommerce-pdp-capture .woocommerce-colorways .color-swatch.is-active,
.woocommerce-pdp-capture .woocommerce-colorways a.woocommerce-colorway.is-current,
.woocommerce-pdp-capture .woocommerce-colorways a.woocommerce-colorway.is-active {
  border: 2px solid #111 !important;
  box-shadow: inset 0 0 0 2px #fff;
}
.woocommerce-pdp-capture .woocommerce-colorways .color-swatch img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.woocommerce-pdp-capture .variant-option-label-container {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 8px;
  flex-wrap: wrap;
}
.woocommerce-pdp-capture .active-color-title {
  font-weight: 400;
  color: #111;
}
.woocommerce-pdp-capture .size-variant-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 16px;
}
.woocommerce-pdp-capture .size-variant {
  min-width: 48px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #111;
  background: #fff;
  font-size: 13px;
  letter-spacing: .04em;
  cursor: pointer;
}
.woocommerce-pdp-capture .size-variant.is-active,
.woocommerce-pdp-capture .size-variant[aria-pressed="true"] {
  background: #111;
  color: #fff;
}
.woocommerce-pdp-capture .size-variant.sold-out,
.woocommerce-pdp-capture .size-variant.is-unavailable,
.woocommerce-pdp-capture .size-variant[aria-disabled="true"] {
  opacity: .35;
  text-decoration: line-through;
  cursor: not-allowed;
  pointer-events: none;
}
.woocommerce-pdp-capture .product-add-to-cart-wrapper {
  display: flex;
  gap: 10px;
  align-items: stretch;
  margin-top: 8px;
}
.woocommerce-pdp-capture .product-add-to-cart-button[data-woocommerce-need-size="1"]:not(.is-ready) {
  background: #e6ddd0 !important;
  color: #111 !important;
  border-color: #e6ddd0 !important;
  flex: 1 1 auto;
  min-height: 52px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 600;
}
.woocommerce-pdp-capture .product-add-to-cart-button.is-ready,
.woocommerce-pdp-capture .product-add-to-cart-button:not([data-woocommerce-need-size]) {
  flex: 1 1 auto;
  min-height: 52px;
}
.woocommerce-pdp-capture .product-add-to-wishlist {
  flex: 0 0 52px;
  width: 52px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.woocommerce-pdp-capture .fit-tips:not(:empty) {
  color: #d81961;
  font-size: 13px;
  margin: 4px 0 10px;
}
.woocommerce-pdp-capture .product-gallery__zoom-icon,
.woocommerce-pdp-capture .product-gallery__zoom-icon.active {
  display: block !important;
  z-index: 5;
  pointer-events: auto !important;
  cursor: zoom-in;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  opacity: .85;
}
.woocommerce-pdp-capture .product-gallery__zoom-icon:hover { opacity: 1; }
.woocommerce-pdp-capture .product-gallery__slide.sf-zoom-host,
.woocommerce-pdp-capture .sf-zoom-host {
  position: relative !important;
  overflow: hidden !important;
  cursor: crosshair;
}
.woocommerce-pdp-capture .sf-zoom-lens,
.woocommerce-pdp-capture .zoomImg.sf-zoom-lens {
  position: absolute !important;
  top: 0;
  left: 0;
  max-width: none !important;
  max-height: none !important;
  width: auto !important;
  height: auto !important;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  transition: opacity .15s ease;
  display: block !important;
}
.woocommerce-pdp-capture .sf-zoom-host.is-zooming .product-gallery__img {
  opacity: 0;
}
body.sf-zoom-open { overflow: hidden; }
.sf-zoom-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(255,255,255,.96);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 64px;
  box-sizing: border-box;
}
.sf-zoom-lightbox[hidden] { display: none !important; }
.sf-zoom-lightbox__img {
  max-width: min(92vw, 1100px);
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.sf-zoom-lightbox__close {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  color: #111;
}
.sf-zoom-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
  color: #111;
}
.sf-zoom-lightbox__prev { left: 12px; }
.sf-zoom-lightbox__next { right: 12px; }
.sf-zoom-lightbox__counter {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 13px;
  color: #555;
  letter-spacing: .06em;
}
@media (max-width: 991px) {
  .woocommerce-pdp-capture .sf-zoom-host { cursor: zoom-in; }
  .woocommerce-pdp-capture .sf-zoom-lens { display: none !important; }
}

/* PLP: Searchspring shell must not reserve 100vh / push grid below pager */
#searchspring-content,
#searchspring-content[data-woocommerce-plp-live],
[data-woocommerce-plp-live]#searchspring-content {
  min-height: 0 !important;
  height: auto !important;
}
#searchspring-content > .product-grid,
#searchspring-content ul.product-grid,
[data-woocommerce-plp-live] ul.product-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--wc-cols, 4), minmax(0, 1fr));
  gap: clamp(12px, 2vw, 28px);
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: start;
}
#searchspring-content .product-grid > .grid__item,
[data-woocommerce-plp-live] .product-grid > .grid__item {
  min-width: 0;
  overflow: hidden;
}
#searchspring-pagination {
  margin-top: var(--wc-space-6, 2rem);
  width: 100%;
}

/* BD header fidelity: black mega + visible white logo */
@media screen and (min-width: 990px) {
  .woocommerce-header-capture .header.header--middle-left,
  .woocommerce-header-capture header.header,
  .woocommerce-header-capture .header.header--middle-left,
  .woocommerce-header-capture header.header {
    grid-template-columns: auto minmax(140px, max-content) minmax(0, 1fr) auto !important;
    column-gap: 1.25rem !important;
    align-items: center !important;
  }
  .woocommerce-header-capture .header__heading-link img,
  .woocommerce-header-capture .header__heading-link img {
    height: 22px !important; width: auto !important; min-width: 120px !important; max-width: 200px !important;
    display: block !important; object-fit: contain !important; filter: none !important;
  }
}
.woocommerce-header-capture details.mega-menu[open] > .mega-menu__content,
.woocommerce-header-capture details.mega-menu[open] > .mega-menu__content {
  background: #000 !important; color: #fff !important;
}
.woocommerce-header-capture details.mega-menu[open] > .mega-menu__content .mega-menu__list {
  display: grid !important;
  grid-template-columns: minmax(180px, 0.85fr) repeat(4, minmax(0, 1fr)) !important;
  gap: 1.25rem 1.5rem !important;
  max-width: 1500px !important; margin: 0 auto !important;
}
.woocommerce-header-capture .mega-menu__content .mega-menu__link,
.woocommerce-header-capture .mega-menu__link--level-2,
.woocommerce-header-capture .mega-menu__list .list-unstyled a.mega-menu__link {
  color: #fff !important;
}
.woocommerce-header-capture .megamenu-banner a.button,
.woocommerce-header-capture .megamenu-banner .button {
  background: #fff !important; color: #111 !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: .06em; display: inline-flex !important;
  padding: .45rem .9rem !important;
}

/* PDP 左右栏兜底：media/info 被踢出 .product 时仍并排 */
@media screen and (min-width: 990px) {
  body.single-product > .product__media-wrapper {
    float: left !important; width: 56% !important; max-width: 56% !important;
    margin: 0 0 2rem 2% !important; clear: left !important; box-sizing: border-box !important;
  }
  body.single-product > .product__info-wrapper {
    float: left !important; width: 38% !important; max-width: 38% !important;
    margin: 0 2% 2rem 0 !important; position: sticky !important; top: 88px !important;
    background: #fff !important; box-sizing: border-box !important;
  }
  body.single-product .site-footer,
  body.single-product #woocommerce-footer,
  body.single-product .woocommerce-product-sticky,
  body.single-product > .shopify-section,
  body.single-product > .wc-reviews { clear: both !important; }
}

.woocommerce-captured .grid img, .woocommerce-captured [class*="collection-list"] img,
.woocommerce-captured [class*="multicolumn"] img, .woocommerce-captured [class*="promo"] img {
  width: 100%; height: auto; object-fit: cover;
}
/* 不强制 .opacity-0{opacity:1}：保持源站 CSS/JS 控制显隐，避免镜像错位 */
/*
 * 布局兜底（:where 零特异性）：源站 CSS 缺失时网格/轮播不塌成左对齐单列；
 * 源站工具类一旦入队即可凭更高特异性覆盖，不会冲掉正常站。
 */
:where(.woocommerce-captured .woocommerce-section [class*="collection-list"]),
:where(.woocommerce-captured .woocommerce-section [class*="multicolumn"] > [class*="list"]),
:where(.woocommerce-captured .woocommerce-section [class*="grid-"]:not([class*="grid-cols-1"]):not(.hidden)) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: clamp(12px, 2vw, 28px);
  width: 100%;
  max-width: 100%;
  align-items: stretch;
}
:where(.woocommerce-captured .woocommerce-section [class*="swiper-wrapper"]),
:where(.woocommerce-captured .woocommerce-section [class*="carousel"] [class*="track"]),
:where(.woocommerce-captured .woocommerce-section [class*="slider"] [class*="track"]) {
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(10px, 1.6vw, 24px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
:where(.woocommerce-captured .woocommerce-section [class*="swiper-slide"]),
:where(.woocommerce-captured .woocommerce-section [class*="carousel"] [class*="track"] > *),
:where(.woocommerce-captured .woocommerce-section [class*="slider"] [class*="track"] > *) {
  flex: 0 0 min(280px, 72vw);
  scroll-snap-align: start;
  max-width: 100%;
}
:where(.woocommerce-captured .woocommerce-section img) {
  max-width: 100%;
  height: auto;
}
.woocommerce-captured > main { display: block; }
.woocommerce-page-header { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin: clamp(24px, 4vw, 56px) auto 0; }
.woocommerce-page-header h1 { margin: 0; }

/* ==========================================================================
   10 · Product card（克隆捕获卡片的类名结构）
   ========================================================================== */
.container-product-card, .wc-card-wrap { position: relative; }
.card-product { display: flex; flex-direction: column; gap: 10px; }
.card-product__top { position: relative; }
.card-product_image { display: block; position: relative; overflow: hidden; background: var(--wc-surface); border-radius: var(--wc-radius); }
.card-product_image figure { margin: 0; }
.card-product_image img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; transition: opacity .4s var(--wc-ease); }
.card-product_image figure + figure,
.card-product_image img + img,
.card-product_image.is-hover-active figure + figure {
  position: absolute; inset: 0; margin: 0; width: 100%; height: 100%;
  aspect-ratio: auto; object-fit: cover; opacity: 0; pointer-events: none;
}
.card-product_image:hover figure:first-child img,
.card-product_image.is-hover-active:hover figure:first-child { opacity: 1; }
.card-product_image:hover figure + figure,
.card-product_image:hover img + img,
.card-product_image.is-hover-active:hover figure + figure { opacity: 1; }
.card-product__badge, .card-product_badge, .woocommerce-card-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2; padding: 4px 9px;
  background: var(--wc-bg); color: var(--wc-text); font-size: 10.5px; letter-spacing: .1em;
  text-transform: uppercase; border-radius: var(--wc-radius); max-width: 70%;
}
.woocommerce-card-badge:empty { display: none !important; }
/* 捕获卡：仅兜底网格；Dawn #product-grid 交给源站 CSS */
.wc-products[data-woocommerce-hydrated-grid] .card-product_content,
.wc-plp-live [data-woocommerce-hydrated-grid] .card-product_content,
[data-woocommerce-catalog-hydrate] .wc-products [data-woocommerce-slot] {
  display: block;
}
.wc-products[data-woocommerce-hydrated-grid] [data-woocommerce-slot="image"],
.wc-plp-live [data-woocommerce-hydrated-grid] [data-woocommerce-slot="image"] {
  width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover;
}
.wc-products[data-woocommerce-hydrated-grid] > .woocommerce-card-item,
.wc-plp-live [data-woocommerce-hydrated-grid] > .woocommerce-card-item {
  display: flex; flex-direction: column; gap: 8px; min-width: 0;
}
.card-product_content { display: flex; flex-direction: column; gap: 4px; }
.card-product__title, .card-product_title { font-size: 14px; line-height: 1.35; }
.card-product__meta, .card-product_meta { font-size: 12px; color: var(--wc-muted); }
.card-product__price, .card-product_price, .price { font-size: 14px; font-variant-numeric: tabular-nums; }
.card-product__price del, .price del,
.mumu-card__price del,
[data-woocommerce-pdp-price] del,
[data-product-price] del,
.product-heading__price del {
  text-decoration: line-through !important;
  font-weight: 400 !important;
  color: #888 !important;
  margin-right: 6px;
  opacity: 1;
}
.card-product__price ins, .price ins,
.mumu-card__price ins,
[data-woocommerce-pdp-price] ins,
[data-product-price] ins,
.product-heading__price ins {
  text-decoration: none !important;
  font-weight: 700 !important;
  color: #111 !important;
}

/* PDP 优惠信息：原价/现价 + 折扣角标 */
.woocommerce-pdp-capture .product-heading__price,
.woocommerce-pdp-capture [data-price-wrapper],
.woocommerce-pdp-capture [data-woocommerce-pdp-price] {
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 10px;
  margin: 8px 0 12px;
  font-size: 18px;
  line-height: 1.3;
  color: #111;
}
.woocommerce-pdp-capture [data-product-price],
.woocommerce-pdp-capture [data-product-price] .price {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 8px;
  font-weight: 400;
}
.woocommerce-pdp-capture [data-product-price] del,
.woocommerce-pdp-capture .product-heading__price del,
.woocommerce-pdp-capture [data-woocommerce-pdp-price] del,
.woocommerce-pdp-capture [data-product-sticky-price] del {
  text-decoration: line-through !important;
  font-weight: 400 !important;
  color: #888 !important;
  font-size: 0.92em;
}
.woocommerce-pdp-capture [data-product-price] ins,
.woocommerce-pdp-capture .product-heading__price ins,
.woocommerce-pdp-capture [data-woocommerce-pdp-price] ins,
.woocommerce-pdp-capture [data-product-sticky-price] ins {
  text-decoration: none !important;
  font-weight: 700 !important;
  color: #111 !important;
}
.sf-pdp-sale-badge,
[data-pdp-sale-badge] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 2px;
  background: #c41230;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
}
.sf-pdp-sale-badge[hidden],
[data-pdp-sale-badge][hidden] {
  display: none !important;
}
.card-product-quick-buy { margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--wc-border-strong); align-self: flex-start; opacity: 0; transform: translateY(4px); transition: opacity .25s, transform .25s; }
.card-product:hover .card-product-quick-buy, .card-product:focus-within .card-product-quick-buy { opacity: 1; transform: translateY(0); }
.card-product.is-added .card-product-quick-buy { opacity: 1; transform: none; color: #1a7f37; border-color: currentColor; }
@media (hover: none) { .card-product-quick-buy { opacity: 1; transform: none; } }

/* ==========================================================================
   11 · Product grid / collection layout（勿对原站 #product-grid 套强制列）
   ========================================================================== */
ul.wc-products,
ul.products,
.wc-plp-live ul.products,
ul.wc-products[data-woocommerce-hydrated-grid],
ul.products[data-woocommerce-hydrated-grid],
.wc-plp-live [data-woocommerce-hydrated-grid],
product-recommendations ul.wc-products,
.woocommerce-pdp-recs ul.wc-products,
[data-woocommerce-recs].wc-products {
  display: grid !important;
  grid-template-columns: repeat(var(--wc-cols, 4), minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.8vw, 28px); list-style: none; margin: 0; padding: 0;
  width: 100%; max-width: 100%; box-sizing: border-box;
  align-items: start;
}
product-recommendations,
.woocommerce-pdp-recs,
[class*="recommendations-section"] {
  display: block; width: 100%; max-width: 100%; box-sizing: border-box;
}
product-recommendations > ul.wc-products,
[class*="recommendations-section"] > ul.wc-products {
  padding-inline: clamp(12px, 3vw, 40px); margin-block: 1.5rem 2.5rem;
}
@media (max-width: 1100px) {
  ul.wc-products, ul.products,
  ul.wc-products[data-woocommerce-hydrated-grid],
  ul.products[data-woocommerce-hydrated-grid],
  .wc-plp-live [data-woocommerce-hydrated-grid] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  ul.wc-products, ul.products,
  ul.wc-products[data-woocommerce-hydrated-grid],
  ul.products[data-woocommerce-hydrated-grid],
  .wc-plp-live [data-woocommerce-hydrated-grid] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
ul.products li.product,
ul.wc-products[data-woocommerce-hydrated-grid] > *,
ul.products[data-woocommerce-hydrated-grid] > *,
.wc-plp-live [data-woocommerce-hydrated-grid] > *,
ul.wc-products[data-woocommerce-hydrated-grid] .woocommerce-card-item {
  margin: 0; min-width: 0; max-width: 100%; width: auto;
}
ul.wc-products[data-woocommerce-hydrated-grid] img,
ul.products[data-woocommerce-hydrated-grid] img,
.wc-plp-live [data-woocommerce-hydrated-grid] img {
  width: 100% !important; max-width: 100% !important; height: auto !important;
  aspect-ratio: 3 / 4; object-fit: cover; display: block;
}
/* 原站捕获卡：保证图可见 */
.woocommerce-captured .new-product-card img,
.woocommerce-captured .new-product-img img,
.woocommerce-captured #product-grid img {
  opacity: 1 !important;
  visibility: visible !important;
  max-width: 100%;
  height: auto;
  display: block;
}
/* Mumu PLP card — image / QUICK ADD / title / italic color / price / circular swatches */
.mumu-card { display: flex; flex-direction: column; height: 100%; position: relative; }
.mumu-card__media {
  position: relative; aspect-ratio: 3 / 4; background: #f3f1ed; overflow: hidden;
}
.mumu-card__image { display: block; width: 100%; height: 100%; position: relative; }
.mumu-card__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.mumu-card__img--hover {
  position: absolute; inset: 0; opacity: 0; transition: opacity .25s ease;
}
.mumu-card__image.has-hover:hover .mumu-card__img--hover { opacity: 1; }
.mumu-card__wishlist {
  position: absolute; top: 10px; right: 10px; z-index: 2;
  width: 34px; height: 34px; border: 0; background: transparent; color: #111;
  cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center;
}
.mumu-card__wishlist.is-active path,
.mumu-card__wishlist.is-wishlisted path,
.product-wishlist.is-active path,
.product-add-to-wishlist.is-active path {
  fill: #111 !important;
  stroke: #111 !important;
}
.mumu-card__wishlist.is-active,
.product-wishlist.is-active { color: #d81961; }
.siteforge-wishlist-page #wishlist {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 20px 80px;
}
.siteforge-wishlist-page #wishlist h2 {
  padding-left: 0;
  margin-bottom: 24px;
  border-bottom: 2px solid #eee;
  padding-bottom: 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 32px;
}
.siteforge-wishlist-page .no-wishlist-items {
  padding-left: 0;
  font-size: 20px;
  margin-bottom: 48px;
}
.siteforge-wishlist-page .wishlist-callout { margin-top: 16px; }
.siteforge-wishlist-page .wishlist-items.loaded {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
.siteforge-wishlist-page .wishlist-item {
  position: relative;
  width: calc(25% - 40px);
  margin: 0 20px 40px;
}
.siteforge-wishlist-page .wishlist-item img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 10px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  background: #f3f1ed;
}
.siteforge-wishlist-page .wishlist-item .button {
  display: block;
  width: 100%;
  margin-top: 16px;
  text-align: center;
  box-sizing: border-box;
  padding: 12px;
  border: 1px solid #111;
  /* color: #111; */
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 12px;
}
@media (max-width: 1000px) {
  .siteforge-wishlist-page .wishlist-item { width: calc(33.3% - 40px); }
}
@media (max-width: 768px) {
  .siteforge-wishlist-page .wishlist-item { width: calc(50% - 40px); }
}
@media (max-width: 600px) {
  .siteforge-wishlist-page .wishlist-item { width: 100%; margin-left: 0; margin-right: 0; }
}
.mumu-card__quick,
.card-product-quick-buy.mumu-card__quick {
  position: absolute; left: 50%; right: auto; bottom: 14px; z-index: 2;
  display: inline-flex !important; align-items: center; justify-content: center;
  width: auto; max-width: calc(100% - 40px); min-height: 0; margin: 0;
  padding: 10px 26px; border: 0; border-radius: 0;
  background: rgba(255,255,255,.82); color: #111;
  font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  text-align: center; white-space: nowrap; cursor: pointer;
  opacity: 0; transform: translate(-50%, 6px);
  transition: opacity .2s ease, transform .2s ease, background .2s ease;
}
.mumu-card__media:hover .mumu-card__quick,
.mumu-card__media:focus-within .mumu-card__quick {
  opacity: 1; transform: translate(-50%, 0); background: rgba(255,255,255,.9);
}
@media (hover: none) {
  .mumu-card__quick { opacity: 1; transform: translate(-50%, 0); }
}
/* 卡片等高：媒体固定比例，文案区弹性，价格贴底 */
.woocommerce-card-item,
.grid__item.woocommerce-card-item,
[data-woocommerce-hydrated-grid] > .woocommerce-card-item,
[data-woocommerce-hydrated-grid] > .grid__item,
.product-grid > .grid__item,
.wc-products > .woocommerce-card-item {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  align-self: stretch;
  min-width: 0;
}
.mumu-card,
.wc-card-wrap.mumu-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.mumu-card__media {
  flex: 0 0 auto;
}
.mumu-card__body {
  padding: 12px 2px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-height: 0;
}
.mumu-card__title {
  font-size: 14px; font-weight: 500; color: #111; text-decoration: none; line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  word-break: break-word;
}
.mumu-card__color {
  font-size: 13px; font-style: italic; color: #444; line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  max-height: calc(1.35em * 2);
  word-break: break-word;
}
.mumu-card__price {
  font-size: 14px; font-weight: 400; color: #111; margin-top: auto;
  padding-top: 6px;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px;
}
.mumu-card__price:not(:has(ins)) {
  font-weight: 600;
}
.mumu-card .wc-card-colorways {
  margin-top: 6px;
  flex: 0 0 auto;
}
.mumu-card__badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: #fff; border: 1px solid #ddd; font-size: 10px; letter-spacing: .06em;
  text-transform: uppercase; padding: 4px 6px;
}

[data-woocommerce-hydrated-grid] .wc-card-colorways img,
.wc-card-colorways img {
  width: 100% !important; height: 100% !important; max-width: none !important;
  aspect-ratio: 1 !important; border-radius: 50%; object-fit: cover; display: block;
}
.wc-card-colorways,
.mumu-card .wc-card-colorways {
  display: flex !important; align-items: center; flex-wrap: wrap; gap: 8px;
  margin: 8px 0 0; vertical-align: middle;
}
.wc-card-colorway,
.card-color-swatch {
  width: 18px !important; height: 18px !important; min-width: 18px !important;
  border-radius: 50% !important; border: 1px solid #bdbdbd !important;
  display: inline-block !important; overflow: hidden !important; background: #ddd;
  flex: 0 0 auto; padding: 0 !important; box-sizing: border-box !important;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.wc-card-colorway.is-current,
.wc-card-colorway.active,
.card-color-swatch.is-current,
.card-color-swatch.active {
  box-shadow: inset 0 0 0 1.5px #fff; border-color: #111 !important; border-width: 1.5px !important;
}
.wc-card-colorways-more { font-size: 12px; color: #666; letter-spacing: 0; white-space: nowrap; }

/* Quick Add modal — match showmeyourmumu.com */
html.mumu-qa-open, html.mumu-qa-open body { overflow: hidden; }
.mumu-qa { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; }
.mumu-qa[hidden] { display: none !important; }
.mumu-qa__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.mumu-qa__dialog {
  position: relative; z-index: 1; width: min(920px, calc(100vw - 32px));
  max-height: calc(100vh - 40px); overflow: auto; background: #fff;
  box-shadow: 0 12px 48px rgba(0,0,0,.18);
}
.mumu-qa__x {
  position: absolute; top: 8px; right: 10px; z-index: 30;
  width: 44px; height: 44px; display: grid; place-items: center;
  border: 0; background: transparent; font-size: 28px; line-height: 1;
  cursor: pointer; color: #111; pointer-events: auto !important;
}
.mumu-qa__grid {
  display: grid; grid-template-columns: 1fr; gap: 0;
}
@media (min-width: 760px) {
  .mumu-qa__grid { grid-template-columns: 1.05fr 0.95fr; }
}
.mumu-qa__gallery {
  position: relative; background: #f4f2ef; min-height: 320px;
  display: flex; align-items: center; justify-content: center;
}
.mumu-qa__img { width: 100%; height: auto; max-height: 70vh; object-fit: contain; display: block; }
.mumu-qa__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  border: 0; background: transparent; font-size: 28px; cursor: pointer; color: #111;
  width: 40px; height: 40px; z-index: 1;
}
.mumu-qa__nav--prev { left: 6px; }
.mumu-qa__nav--next { right: 6px; }
.mumu-qa__dots {
  position: absolute; left: 0; right: 0; bottom: 12px;
  display: flex; justify-content: center; gap: 6px;
}
.mumu-qa__dot {
  width: 7px; height: 7px; border-radius: 50%; border: 0; padding: 0;
  background: #c8c8c8; cursor: pointer;
}
.mumu-qa__dot.is-active { background: #111; }
.mumu-qa__info { padding: 28px 28px 32px; position: relative; z-index: 1; }
.mumu-qa__title { margin: 0 0 6px; font-size: 22px; font-weight: 500; }
.mumu-qa__price { font-size: 16px; margin-bottom: 18px; }
.mumu-qa__color-row, .mumu-qa__size-row { font-size: 14px; margin-bottom: 8px; }
.mumu-qa__size-row[hidden], .mumu-qa__sizes[hidden] { display: none !important; }
.mumu-qa__label { font-weight: 500; margin-right: 6px; }
.mumu-qa__swatches { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.mumu-qa__swatch {
  width: 42px; height: 42px; border-radius: 50%; border: 1px solid #ccc;
  overflow: hidden; padding: 0; background: #eee; cursor: pointer;
}
.mumu-qa__swatch.is-current { border: 2px solid #111; box-shadow: inset 0 0 0 2px #fff; }
.mumu-qa__swatch img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mumu-qa__fit-tip { color: #d81961; font-size: 13px; margin: 0 0 10px; }
.mumu-qa__sizes { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; position: relative; z-index: 3; }
.mumu-qa__size {
  min-width: 48px; min-height: 44px; border: 1px solid #111; background: #fff;
  font-size: 13px; cursor: pointer; padding: 8px 12px;
  position: relative; z-index: 3;
  pointer-events: auto !important;
  opacity: 1;
}
.mumu-qa__size.is-active { background: #111; color: #fff; }
.mumu-qa__cta {
  width: 100%; min-height: 52px; border: 0; cursor: pointer;
  background: #e6ddd0; color: #111; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; font-size: 13px;
  pointer-events: auto !important;
  position: relative; z-index: 3;
}

.mumu-qa__size.is-soldout,
.mumu-qa__size[aria-disabled="true"] {
  opacity: .45;
  text-decoration: line-through;
  /* 仍可点选；勿 pointer-events:none */
  pointer-events: auto !important;
  cursor: pointer;
}

.mumu-qa__cta.is-ready { background: #111; color: #fff; }
.mumu-qa__details {
  display: inline-block; margin-top: 16px; color: #111; font-size: 14px; text-decoration: underline;
}
.wc-collection-hero, [data-woocommerce-collection-hero] {
  display: block; width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide));
  max-width: 100%; margin: 12px auto 0; padding: 8px 0 4px;
  box-sizing: border-box; background: transparent; color: inherit; min-height: 0;
}
.wc-collection-hero--copy-only,
.wc-collection-hero:not(:has(.wc-collection-hero__media)) {
  grid-template-columns: 1fr;
}
.wc-collection-hero__copy {
  background: transparent; color: inherit; padding: 0;
  display: flex; flex-direction: column; justify-content: flex-end;
  width: 100%;
}
.wc-collection-hero__copy h1 {
  margin: 0 0 8px; font-size: clamp(26px, 3vw, 40px); letter-spacing: .02em;
  font-weight: 400; text-transform: none; color: inherit;
}
.wc-collection-hero__desc { font-size: 15px; line-height: 1.55; opacity: .78; max-width: 42rem; }
.wc-collection-hero__desc p { margin: 0; }
.wc-collection-hero__media { display: none; }
@media (max-width: 800px) {
  .wc-collection-hero, [data-woocommerce-collection-hero] { padding-inline: 0; }
}
aside[data-woocommerce-filter-drawer],
dialog[data-woocommerce-filter-drawer],
.wc-filter-drawer-panel[data-woocommerce-filter-drawer] {
  position: fixed !important; inset: 0 auto 0 0; width: min(420px, 94vw); max-width: 100%;
  background: #fff; z-index: 120; overflow: auto; box-shadow: 8px 0 32px rgba(0,0,0,.12);
  transition: transform .28s ease, visibility .28s ease;
}
aside[data-woocommerce-filter-drawer]:not(.is-open),
dialog[data-woocommerce-filter-drawer]:not(.is-open),
.wc-filter-drawer-panel[data-woocommerce-filter-drawer]:not(.is-open) {
  transform: translateX(-104%); pointer-events: none; visibility: hidden;
}
aside[data-woocommerce-filter-drawer].is-open,
dialog[data-woocommerce-filter-drawer].is-open,
.wc-filter-drawer-panel[data-woocommerce-filter-drawer].is-open {
  transform: translateX(0); pointer-events: auto; visibility: visible;
  display: block !important;
}
.wc-filter-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 110;
  opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
}
.wc-filter-backdrop.is-open { opacity: 1; visibility: visible; }
.wc-search-heading {
  text-align: center; font-size: clamp(22px, 2.2vw, 32px); font-weight: 400;
  margin: 28px 0 24px; letter-spacing: 0;
}
.search .wc-breadcrumbs, .search-results .wc-breadcrumbs, .woocommerce-search-results .wc-breadcrumbs { display: none !important; }
/* 捕获登录壳：不盖奶油底；兜底双栏继承源站 CSS 变量 */
.wc-account-auth--captured { background: transparent; padding: 0; }
.wc-account-auth:not(.wc-account-auth--captured) {
  background: var(--color-background-2, var(--color-background, #f3f1ec));
  padding: 12px 12px 56px;
  color: var(--color-foreground, inherit);
}
.wc-account-auth__hero {
  background: var(--color-background, #fff); text-align: center; padding: 36px 24px 28px; margin: 0 0 12px;
}
.wc-account-auth__hero h1 { margin: 0 0 8px; font-size: 22px; font-weight: 400; letter-spacing: 0; }
.wc-account-auth__hero p { margin: 0 auto; max-width: 640px; font-size: 14px; color: var(--color-foreground, #555); opacity: .85; }
.wc-account-auth__grid {
  display: grid; grid-template-columns: 1fr 1fr; background: var(--color-background, #fff);
}
.wc-account-auth__col { padding: 28px 32px 40px; }
.wc-account-auth__col + .wc-account-auth__col { border-left: 1px solid var(--color-border, #e8e2d8); }
.wc-account-auth__col h2 {
  margin: 0 0 8px; font-size: 13px; letter-spacing: .08em;
  text-transform: uppercase; font-weight: 700;
}
.wc-account-auth__lead { margin: 0 0 18px; font-size: 14px; color: var(--color-foreground, #444); font-weight: 400; opacity: .9; }
.wc-account-auth:not(.wc-account-auth--captured) input[type=email],
.wc-account-auth:not(.wc-account-auth--captured) input[type=password],
.wc-account-auth:not(.wc-account-auth--captured) input[type=text] {
  width: 100%; height: 42px; margin: 0 0 12px; border: 1px solid var(--color-border, #cfc9bf);
  background: var(--color-background, #fff); padding: 0 12px; font-size: 14px; border-radius: 0;
}
.wc-account-auth__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 0 18px;
  background: var(--color-button, var(--color-foreground, #1a1a1a));
  color: var(--color-button-text, #fff);
  border: 1px solid var(--color-button, var(--color-foreground, #1a1a1a));
  font-size: 13px; cursor: pointer; border-radius: 2px;
}
.wc-account-auth__btn--ghost {
  background: var(--color-background, #fff);
  color: var(--color-foreground, #1a1a1a);
}
.wc-account-auth__forgot { display: inline-block; margin-top: 14px; font-size: 14px; color: inherit; }
.wc-account-auth__register { display: none; }
.wc-account-auth.is-register .wc-account-auth__teaser { display: none; }
.wc-account-auth.is-register .wc-account-auth__register { display: block; }
.wc-account-auth__check { display: flex; align-items: center; gap: 8px; margin: 4px 0 16px; font-size: 14px; }
.wc-account-auth__check input { width: 16px; height: 16px; min-height: 0; }
.wc-account-auth__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.wc-account-auth__errors {
  list-style: none; margin: 0 auto 12px; padding: 12px 18px; max-width: 1100px;
  background: #fff; border: 1px solid #b3261e; color: #b3261e; font-size: 14px;
}
@media (max-width: 800px) {
  .wc-account-auth__grid { grid-template-columns: 1fr; }
  .wc-account-auth__col + .wc-account-auth__col { border-left: 0; border-top: 1px solid #e8e2d8; }
}
.wc-account-hub[data-woocommerce-account-hub] { min-height: 40vh; }
.wc-account-hub[data-woocommerce-account-hub] form[action*="shopify.com"],
.wc-account-hub[data-woocommerce-account-hub] form[action*="/account/login"] { display: none; }

/* Mumu account capture: tabs + live user data */
.woocommerce-account-capture[data-woocommerce-account-captured] {
  max-width: 1100px;
  margin: 0 auto 64px;
  padding: 0 20px;
}
/*
 * 源站 account__nav 在移动端是 absolute+display:none，桌面才 flex。
 * 捕获壳 hero 只有 tab、无 section-header，高度塌成贴顶 → 被 fixed 头栏挡住。
 * 强制 tab 回文档流并露在头栏下方。
 */
.woocommerce-account-capture .account__hero {
  display: block !important;
  position: relative !important;
  min-height: 0 !important;
  padding: 20px 0 0 !important;
  margin: 0 0 8px !important;
  background-color: #fff !important;
  overflow: visible !important;
}
.woocommerce-account-capture .account__nav-container {
  position: relative !important;
  margin: 0 !important;
  padding: 12px 0 8px !important;
  width: 100% !important;
  left: auto !important;
  border-radius: 0 !important;
  background: #fff !important;
  z-index: 2;
}
.woocommerce-account-capture .account__nav-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
  max-width: 1100px !important;
  width: 100% !important;
  position: relative !important;
}
.woocommerce-account-capture .account__nav-title {
  display: none !important;
}
.woocommerce-account-capture .account__nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px 28px;
  list-style: none;
  margin: 0 0 12px !important;
  padding: 12px 0 !important;
  border: none !important;
  border-bottom: 1px solid #eee !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
  z-index: 2;
}
.woocommerce-account-capture .account__nav li {
  margin: 0;
  padding: 0 4px !important;
}
.woocommerce-account-capture .account__nav li div { display: none !important; }
.woocommerce-account-capture .account__nav a {
  display: inline-block !important;
  padding: 8px 0 !important;
  color: #111 !important;
  text-decoration: none;
  font-size: 14px !important;
  line-height: 1.3 !important;
  letter-spacing: .04em;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
}
.woocommerce-account-capture .account__nav a.is-active,
.woocommerce-account-capture .account__nav a:hover {
  color: #d81961 !important;
  border-bottom-color: #d81961 !important;
  background: transparent !important;
}
.woocommerce-account-capture .account__dashboard h2 {
  text-align: center;
  font-weight: 400;
  letter-spacing: .06em;
  border-bottom: 3px solid #d81961;
  display: inline-block;
  padding-bottom: 6px;
}
.woocommerce-account-capture .account__dashboard { text-align: center; margin-bottom: 28px; }
.woocommerce-account-capture .account__personal-info p,
.woocommerce-account-capture .account__email-preferences { text-align: left; }
.woocommerce-account-capture .account__woo-panel { margin-top: 24px; }
/* Hide default Woo card grid when Mumu shell handles dashboard */
.woocommerce-account-capture[data-account-tab="dashboard"] .wc-account-cards,
.woocommerce-account-capture[data-account-tab="dashboard"] .wc-account-panel > h1,
.woocommerce-account-capture .woocommerce-MyAccount-navigation { display: none !important; }
@media (min-width: 64rem) {
  .wc-account-hub .lg\:hidden,
  .wc-account-hub .md\:hidden,
  .wc-account-hub .max-lg\:flex,
  .wc-account-hub .max-lg\:block { display: none !important; }
  .wc-account-hub .hidden.lg\:block,
  .wc-account-hub .lg\:block { display: block !important; }
  .wc-account-hub .hidden.lg\:flex,
  .wc-account-hub .lg\:flex { display: flex !important; }
}
@media (max-width: 63.999rem) {
  .wc-account-hub .hidden.lg\:block,
  .wc-account-hub .hidden.lg\:flex,
  .wc-account-hub .hidden.md\:block,
  .wc-account-hub .hidden.md\:flex { display: none !important; }
}
.wc-section { padding-block: clamp(32px, 5vw, 72px); }
.wc-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--wc-space-4); margin-bottom: var(--wc-space-5); }
.wc-section__title { margin: 0; font-size: clamp(20px, 2.4vw, 30px); }
.wc-section__link { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.wc-carousel { position: relative; }
.wc-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 1fr); gap: clamp(10px, 1.4vw, 20px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.wc-carousel__track::-webkit-scrollbar { display: none; }
.wc-carousel__track > * { scroll-snap-align: start; }
.wc-carousel__nav { display: flex; gap: 8px; }
.wc-carousel__nav button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--wc-border); border-radius: 50%; }
.wc-carousel__nav button:hover { border-color: var(--wc-text); }

/* ==========================================================================
   12 · Catalog toolbar & filters
   ========================================================================== */
.wc-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wc-space-3); padding-block: var(--wc-space-4); border-block: 1px solid var(--wc-border); margin-bottom: var(--wc-space-6); position: sticky; top: var(--wc-header-h); background: var(--wc-bg); z-index: 30; }
.wc-toolbar__chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.wc-toolbar__chips::-webkit-scrollbar { display: none; }
.wc-chip { flex: 0 0 auto; padding: 7px 14px; border: 1px solid var(--wc-border); border-radius: 999px; font-size: 12.5px; white-space: nowrap; transition: border-color .2s, background .2s, color .2s; }
.wc-chip:hover { border-color: var(--wc-text); }
.wc-chip.is-active { background: var(--wc-text); color: var(--wc-bg); border-color: var(--wc-text); }
.wc-toolbar__right { display: flex; align-items: center; gap: var(--wc-space-3); margin-left: auto; }
.wc-toolbar__count { font-size: 12.5px; color: var(--wc-muted); }
.wc-view-toggle { display: flex; border: 1px solid var(--wc-border); border-radius: var(--wc-radius); overflow: hidden; }
.wc-view-toggle button { width: 38px; height: 36px; display: grid; place-items: center; }
.wc-view-toggle button.is-active { background: var(--wc-text); color: var(--wc-bg); }
.wc-view-toggle svg { width: 17px; height: 17px; }
.wc-sort { max-width: 220px; }
.wc-products.is-list-view { grid-template-columns: 1fr; }
.wc-products.is-list-view .card-product { display: grid; grid-template-columns: 180px 1fr; gap: var(--wc-space-5); align-items: center; }
.wc-products.is-list-view .card-product_image img { aspect-ratio: 1 / 1; }
.wc-empty { padding: clamp(40px, 8vw, 96px) 0; text-align: center; color: var(--wc-muted); }
.wc-load-more { display: grid; place-items: center; padding-block: var(--wc-space-7); }
.wc-load-more__progress { width: min(320px, 70vw); height: 2px; background: var(--wc-border); overflow: hidden; margin-top: var(--wc-space-3); }
.wc-load-more__progress span { display: block; height: 100%; background: var(--wc-text); width: 0; transition: width .3s var(--wc-ease); }

/* ==========================================================================
   13 · Product detail page
   ========================================================================== */
.wc-reviews {
  width: min(calc(100% - 48px), 920px);
  margin: 48px auto 72px;
  text-align: center;
}
.wc-reviews__title {
  margin: 0 0 20px;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.wc-reviews__summary { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.wc-reviews__summary p { margin: 0; font-size: 14px; }
.wc-stars { display: inline-flex; gap: 4px; font-size: 22px; line-height: 1; color: #d9d4cc; }
.wc-star { color: inherit; background: none; border: 0; padding: 0; cursor: default; font-size: inherit; line-height: 1; }
.wc-star.is-on { color: #1a1a1a; }
[data-woocommerce-star-pick] .wc-star { cursor: pointer; }
.wc-reviews__write {
  margin-top: 8px; min-height: 44px; padding: 0 22px;
  border: 1px solid #1a1a1a; background: #1a1a1a; color: #fff;
  letter-spacing: .08em; text-transform: uppercase; font-size: 12px; cursor: pointer;
}
.wc-reviews__list { list-style: none; margin: 36px 0 0; padding: 0; text-align: left; }
.wc-reviews__item { padding: 20px 0; border-top: 1px solid #e8e2d8; }
.wc-reviews__meta { margin: 8px 0; font-size: 13px; color: #555; }
.wc-reviews__body { font-size: 15px; }
/* 屏蔽源站 Yotpo 评论浮层（会带错误商品名） */
.woocommerce-pdp-capture .yotpo,
.woocommerce-pdp-capture .yotpo-widget-instance,
.woocommerce-pdp-capture .yotpo-reviews-section,
.woocommerce-pdp-capture [class*="yotpo-modal"],
.woocommerce-pdp-capture [class*="yotpo-popup"],
body .yotpo-modal,
body .yotpo-popup,
body [class*="yotpo"][class*="modal"],
body [id*="yotpo"][class*="modal"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.wc-review-modal[hidden] { display: none !important; }
.wc-review-modal {
  position: fixed !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 2147483000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(18,16,14,.45) !important;
  padding: 24px !important;
  margin: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}
.wc-review-modal__panel {
  position: relative !important;
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  max-height: min(90vh, 720px) !important;
  overflow: auto;
  background: #fff !important;
  padding: 40px 32px 28px !important;
  border-radius: 4px;
  text-align: left;
  margin: 0 auto !important;
  inset: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}
.wc-review-modal__close {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  bottom: auto !important;
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 28px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  color: #111 !important;
  z-index: 3 !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  inset: auto 8px auto auto !important;
}
body.sf-review-open { overflow: hidden !important; }
.wc-review-modal h3 {
  margin: 0 0 6px; font-size: 26px; font-weight: 400; text-align: center;
  letter-spacing: .06em; text-transform: uppercase;
}
.wc-review-modal__product { margin: 0 0 20px; text-align: center; color: #555; font-size: 14px; }
.wc-review-form p { margin: 0 0 14px; }
.wc-review-form label { display: block; margin-bottom: 6px; font-size: 13px; }
.wc-review-form input, .wc-review-form textarea {
  width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px;
}
.wc-review-form textarea { min-height: 120px; }
.wc-review-form__stars { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wc-review-form__err { color: #b3261e; font-size: 13px; }
.wc-review-form__submit {
  width: 100%; min-height: 48px; border: 0; background: #1a1a1a; color: #fff;
  letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
}
.woocommerce-pdp-capture .yotpo,
.woocommerce-pdp-capture .yotpo-widget-instance,
.woocommerce-pdp-capture .jdgm-widget,
.woocommerce-pdp-capture .stamped-main-widget,
.woocommerce-pdp-capture [id*="shopify-product-reviews"],
.woocommerce-pdp-capture .oke-w,
.woocommerce-Reviews { display: none !important; }

.wc-pdp__grid { display: grid; gap: clamp(20px, 4vw, 64px); grid-template-columns: 1fr; }
@media (min-width: 990px) { .wc-pdp__grid { grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: start; } }
.wc-pdp__gallery { display: grid; gap: 10px; }
.wc-pdp__gallery-main { position: relative; background: var(--wc-surface); border-radius: var(--wc-radius); overflow: hidden; }
.wc-pdp__gallery-main img { width: 100%; height: auto; }
.wc-pdp__thumbs { display: flex; gap: 8px; overflow-x: auto; }
.wc-pdp__thumbs button { flex: 0 0 auto; width: 68px; border: 1px solid transparent; border-radius: var(--wc-radius); overflow: hidden; }
.wc-pdp__thumbs button.is-active { border-color: var(--wc-text); }
.wc-pdp__summary { position: sticky; top: calc(var(--wc-header-h) + 20px); }
.wc-pdp__title { margin: 0 0 6px; font-size: clamp(22px, 2.6vw, 34px); }
.wc-pdp__prices { font-size: 17px; margin-bottom: var(--wc-space-4); }
.wc-pdp__desc { color: var(--wc-muted); font-size: 14.5px; }
.wc-pdp__form { margin-top: var(--wc-space-5); display: grid; gap: var(--wc-space-4); }
.variations { display: grid; gap: 12px; margin: 0; }
.variations th.label, .variations td.value { display: block; padding: 0; }
.variations th.label label, .variations th.label { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--wc-muted); margin-bottom: 8px; }
.variations select { max-width: 100%; }
html body .woocommerce-pdp-capture > .woocommerce-pdp-live-panel,
html body .woocommerce-pdp-capture > [data-woocommerce-live-panel],
html body .woocommerce-pdp-capture .wc-wc-buybox-sr,
html body .woocommerce-pdp-atc-slot {
  display: none !important; position: absolute !important; left: -9999px !important;
  width: 1px !important; height: 1px !important; overflow: hidden !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  pointer-events: none !important;
}
/* 仅隐藏 WC 原生 variations；捕获买盒 select/尺码保留 */
.woocommerce-pdp-capture .variations select,
.woocommerce-pdp-capture table.variations {
  display: none !important;
}
.wc-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.wc-swatch { min-width: 44px; padding: 9px 14px; border: 1px solid var(--wc-border); border-radius: var(--wc-radius); font-size: 13px; }
.wc-swatch.is-active { border-color: var(--wc-text); background: var(--wc-text); color: var(--wc-bg); }
.wc-swatch[disabled] { opacity: .35; text-decoration: line-through; }
/* 规格（变体）封面色卡：优先显示源站该规格自己的封面图 */
.wc-pdp__swatches { display: grid; gap: 14px; margin-bottom: var(--wc-space-4); }
.wc-pdp__swatch-group { display: grid; gap: 8px; }
.wc-pdp__swatch-label { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--wc-muted); }
.wc-pdp__swatch-label b { color: var(--wc-text); font-weight: 500; letter-spacing: 0; text-transform: none; margin-left: 6px; }
.wc-swatch--image { width: 56px; height: 56px; padding: 0; border-radius: 2px; overflow: hidden; background: var(--wc-surface); }
.wc-swatch--image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wc-swatch--image.is-active { border-color: var(--wc-text); box-shadow: 0 0 0 1px var(--wc-text) inset; background: var(--wc-surface); }
.wc-swatch--image[disabled] { opacity: .3; text-decoration: none; }
.quantity, .qty { display: inline-flex; align-items: center; border: 1px solid var(--wc-border); border-radius: var(--wc-radius); overflow: hidden; }
.quantity button, .qty button { width: 40px; height: 44px; display: grid; place-items: center; }
.quantity input, .qty input { width: 56px; border: 0; text-align: center; min-height: 44px; }
.wc-pdp__meta { margin-top: var(--wc-space-5); border-top: 1px solid var(--wc-border); }
.wc-pdp__meta details { border-bottom: 1px solid var(--wc-border); }
.wc-pdp__meta summary { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; font-size: 13.5px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; list-style: none; }
.wc-pdp__meta summary::-webkit-details-marker { display: none; }
.wc-pdp__meta summary::after { content: '+'; font-size: 18px; }
.wc-pdp__meta details[open] summary::after { content: '−'; }
.wc-pdp__meta .wc-pdp__meta-body { padding-bottom: 16px; font-size: 14px; color: var(--wc-muted); }
.wc-usp { display: grid; gap: 10px; margin-top: var(--wc-space-5); font-size: 13px; }
.wc-usp li { display: flex; align-items: center; gap: 10px; }
.wc-usp svg { width: 18px; height: 18px; flex: 0 0 auto; }
.woocommerce-product-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; background: var(--wc-bg); border-top: 1px solid var(--wc-border); box-shadow: var(--wc-shadow-sm); transform: translateY(102%); transition: transform .3s var(--wc-ease); }
.woocommerce-product-sticky.is-visible { transform: translateY(0); }
.woocommerce-product-sticky__inner { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin-inline: auto; display: flex; align-items: center; gap: var(--wc-space-4); padding-block: 10px; }
.woocommerce-product-sticky__title { display: flex; flex-direction: column; font-size: 13px; line-height: 1.35; }
.woocommerce-product-sticky__title span { color: var(--wc-muted); font-size: 12px; }
.woocommerce-product-sticky button { margin-left: auto; display: inline-flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 20px; background: var(--wc-text); color: var(--wc-bg); border-radius: var(--wc-radius); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; }

/* ==========================================================================
   14 · Cart / checkout / account (source-shell 1:1 + WC hydrate)
   ========================================================================== */
.woocommerce-commerce { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); max-width: 100%; margin: var(--wc-space-6) auto var(--wc-space-8); box-sizing: border-box; }
.woocommerce-commerce--cart { display: block; }
.woocommerce-commerce--cart { display: block; max-width: 960px; }
.wc-bag-crumb { font-size: 13px; color: #6b6b6b; margin: 8px 0 28px; }
.wc-bag-crumb a { color: inherit; text-decoration: none; }
.wc-bag-crumb span::before { content: '>'; margin: 0 8px; opacity: .55; }
.wc-bag { width: 100%; }
.wc-bag__title {
  margin: 0 0 28px; font-size: clamp(26px, 3vw, 34px); font-weight: 400;
  letter-spacing: .12em; text-transform: uppercase;
}
.wc-bag__cols {
  display: grid; grid-template-columns: minmax(0, 1fr) 110px 90px 110px;
  gap: 12px; padding: 0 0 10px; border-bottom: 1px solid #e6e1d8;
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #6b6b6b;
}
.wc-bag__cols span:nth-child(2),
.wc-bag__cols span:nth-child(3),
.wc-bag__cols span:nth-child(4) { text-align: right; }
.wc-bag__lines { display: block !important; width: 100%; }
.wc-bag-row {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 110px 90px 110px;
  gap: 12px; align-items: center; padding: 22px 0; border-bottom: 1px solid #ece7de;
  width: 100%; box-sizing: border-box;
}
.wc-bag-row__product { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; align-items: start; min-width: 0; }
.wc-bag-row__media { display: block; width: 72px; }
.wc-bag-row__media img { width: 72px; height: 72px; object-fit: cover; display: block; background: #f4f1ea; }
.wc-bag-row__title { display: block; font-size: 14px; line-height: 1.4; color: inherit; text-decoration: none; margin: 0 0 10px; }
.wc-bag-row__remove { font-size: 13px; color: inherit; text-decoration: none; }
.wc-bag-row__remove:hover { text-decoration: underline; }
.wc-bag-row__price, .wc-bag-row__qty, .wc-bag-row__total { text-align: right; font-size: 14px; }
.wc-bag-row__price .price,
.wc-bag-row__total .price,
.woocommerce-cart-line__price .price,
.woocommerce-cart-line__subtotal .price {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0 6px;
  font-weight: 400;
}
.wc-bag-row__price del,
.wc-bag-row__total del,
.woocommerce-cart-line__price del,
.woocommerce-cart-line__subtotal del,
.woocommerce-cart-form .product-price del,
.woocommerce-cart-form .product-subtotal del,
.cart_item .product-price del,
.cart_item .product-subtotal del {
  text-decoration: line-through !important;
  font-weight: 400 !important;
  color: #888 !important;
}
.wc-bag-row__price ins,
.wc-bag-row__total ins,
.woocommerce-cart-line__price ins,
.woocommerce-cart-line__subtotal ins,
.woocommerce-cart-form .product-price ins,
.woocommerce-cart-form .product-subtotal ins,
.cart_item .product-price ins,
.cart_item .product-subtotal ins {
  text-decoration: none !important;
  font-weight: 700 !important;
  color: #111 !important;
}
.wc-bag-row__qty input.qty {
  width: 48px; height: 36px; min-height: 36px; border: 1px solid #cfc9bf;
  border-radius: 0; text-align: center; padding: 0; background: #fff;
  display: inline-block !important;
}
.wc-bag__foot { display: grid; justify-items: end; gap: 18px; padding: 22px 0 8px; }
.wc-bag__subtotal { display: flex; align-items: baseline; gap: 48px; font-size: 15px; }
.wc-bag__subtotal strong { font-weight: 600; }
.wc-bag__actions { display: flex; align-items: center; gap: 18px; }
.wc-bag__update {
  background: none; border: 0; padding: 0; font-size: 14px; cursor: pointer;
  color: inherit; text-decoration: none;
}
.wc-bag__checkout {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 42px; padding: 0 22px; background: #1a1a1a; color: #fff;
  border: 1px solid #1a1a1a; text-decoration: none; font-size: 14px;
}
@media (max-width: 720px) {
  .wc-bag__cols { display: none; }
  .wc-bag-row { grid-template-columns: 1fr 1fr; }
  .wc-bag-row__product { grid-column: 1 / -1; }
}
.woocommerce-commerce__steps { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: var(--wc-space-5); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--wc-muted); }
.woocommerce-commerce__steps .is-current { color: var(--wc-text); font-weight: 600; }
.woocommerce-commerce__steps i { opacity: .45; font-style: normal; }

/* Cart 1:1：捕获壳原位注水；禁止再叠一层 WC shop_table */
.woocommerce-cart-capture { position: relative; }
.woocommerce-cart-capture [id^="vue-cart-drawer-app"],
.woocommerce-cart-capture script { display: none !important; }
.woocommerce-cart-form .shop_table,
.woocommerce-cart-capture + .shop_table,
[data-woocommerce-cart-hydrate] .woocommerce-cart-form__contents.shop_table { display: none !important; }
.woocommerce-cart-notices { margin: 0 0 var(--wc-space-4); padding: 12px 14px; border: 1px solid var(--wc-border); background: var(--wc-surface); }
.woocommerce-cart-notices__item { margin: 0 0 6px; font-size: 13.5px; }
.woocommerce-cart-notices__item:last-child { margin-bottom: 0; }
.woocommerce-cart-notices__item--error { color: #8a1f1f; }
.woocommerce-cart-lines,
[data-woocommerce-cart-lines] { display: grid; gap: 0; width: 100%; }
.woocommerce-cart-line,
article.woocommerce-cart-line {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px 16px; align-items: start;
  padding: 18px 0; border-bottom: 1px solid var(--wc-border);
  width: 100%; box-sizing: border-box;
}
.woocommerce-bag, .woocommerce-cart-form { width: 100%; }
.woocommerce-cart-lines { width: min(100%, 920px); margin: 0 auto; }
.woocommerce-cart-line__media { display: block; width: 96px; flex: 0 0 96px; }
.woocommerce-cart-line__media img { width: 96px; height: 96px; object-fit: cover; display: block; border-radius: var(--wc-radius); background: var(--wc-surface); }
.woocommerce-cart-line__body { min-width: 0; display: grid; gap: 8px; }
.woocommerce-cart-line__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.woocommerce-cart-line__title { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; text-decoration: none; color: inherit; }
.woocommerce-cart-line__remove,
a.woocommerce-cart-line__remove {
  flex: 0 0 auto; font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--wc-muted); text-decoration: underline; text-underline-offset: 3px;
  background: none; border: 0; padding: 0; cursor: pointer;
}
.woocommerce-cart-line__remove:hover { color: var(--wc-text); }
.woocommerce-cart-line__price { font-size: 14px; color: var(--wc-muted); margin: 0; }
.woocommerce-cart-line__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.woocommerce-cart-line__subtotal { font-size: 15px; font-variant-numeric: tabular-nums; font-weight: 600; margin-left: auto; }
.woocommerce-cart-summary { margin-top: var(--wc-space-6); padding: clamp(16px, 2vw, 24px); border: 1px solid var(--wc-border); border-radius: var(--wc-radius-lg); background: var(--wc-surface); display: grid; gap: 12px; max-width: 420px; margin-left: auto; }
.woocommerce-cart-summary__row { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; }
.woocommerce-cart-summary__row--muted { color: var(--wc-muted); font-size: 13px; }
.woocommerce-cart-checkout, .woocommerce-cart-summary .wc-btn { display: block; text-align: center; }
.woocommerce-cart-form .quantity, [data-woocommerce-cart] .quantity, .ajaxcart__qty, [data-qty] {
  display: inline-flex !important; align-items: center; border: 1px solid var(--wc-border); border-radius: 999px; overflow: hidden; background: var(--wc-bg);
}
.woocommerce-cart-form .quantity .qty,
[data-woocommerce-cart] .qty,
[data-woocommerce-cart] input.qty,
[data-woocommerce-cart-drawer-host] input.qty,
.ajaxcart__qty-num,
input.ajaxcart__qty-num {
  display: inline-block !important; visibility: visible !important; opacity: 1 !important;
  width: 3.25rem !important; min-width: 3.25rem; min-height: 40px; height: 40px;
  border: 0 !important; text-align: center; color: var(--wc-text) !important;
  font-size: 14px !important; background: transparent !important;
  -moz-appearance: textfield; appearance: textfield; margin: 0;
}
.woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button,
[data-woocommerce-cart] input.qty::-webkit-outer-spin-button,
[data-woocommerce-cart] input.qty::-webkit-inner-spin-button,
.ajaxcart__qty-num::-webkit-outer-spin-button,
.ajaxcart__qty-num::-webkit-inner-spin-button { appearance: none; margin: 0; }
.woocommerce-cart-form .quantity button,
[data-woocommerce-cart] .quantity button,
.ajaxcart__qty button,
[data-qty-minus], [data-qty-plus] {
  width: 36px; height: 40px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; color: inherit; font-size: 16px; line-height: 1;
}
.woocommerce-bag__body,
.woocommerce-checkout__body,
.woocommerce-checkout-capture__live {
  margin-top: var(--wc-space-4);
}
.woocommerce-bag__title { font-size: clamp(1.6rem, 2.4vw, 2.2rem); letter-spacing: .04em; margin: 0 0 var(--wc-space-4); }
/* 捕获壳内 Gift / Final Sale 空槽：勿吞掉已注水行 */
.woocommerce-cart-capture [class*="gift"]:empty,
.woocommerce-cart-capture [class*="Gift"]:empty { display: none; }

/* Ajax cart drawer (Stetson Timber: #CartDrawer.drawer--right; Dawn cart-drawer; bottom sheet) */
.woocommerce-cart-drawer-host,
[data-woocommerce-cart-drawer-host] {
  position: fixed !important;
  inset: 0;
  z-index: 10000;
  visibility: hidden;
  pointer-events: none;
}
body.wc-cart-drawer-open .woocommerce-cart-drawer-host,
body.wc-cart-drawer-open [data-woocommerce-cart-drawer-host],
body.js-drawer-open-right .woocommerce-cart-drawer-host {
  visibility: visible;
}
[data-woocommerce-cart-drawer-host] .drawer,
[data-woocommerce-cart-drawer-root],
#CartDrawer.drawer,
[data-woocommerce-cart-drawer-host] #CartDrawer {
  position: fixed !important; z-index: 10001; background: var(--wc-bg, #fff); color: var(--wc-text, #111);
  box-shadow: -8px 0 32px rgba(0,0,0,.12);
  visibility: hidden; pointer-events: none;
  transition: transform .35s ease, visibility .35s;
  overflow: hidden; padding: 0; box-sizing: border-box;
  display: flex; flex-direction: column;
}
body.wc-cart-drawer-open .woocommerce-overlay { z-index: 10000; }
[data-woocommerce-cart-placement="right"] .drawer,
[data-woocommerce-cart-placement="right"] [data-woocommerce-cart-drawer-root],
#CartDrawer.drawer--right,
[data-woocommerce-cart-drawer-host] #CartDrawer {
  top: 0; right: 0; bottom: 0; width: min(420px, 100vw);
  transform: translateX(100%);
}
[data-woocommerce-cart-placement="left"] .drawer,
[data-woocommerce-cart-placement="left"] [data-woocommerce-cart-drawer-root] {
  top: 0; left: 0; bottom: 0; width: min(420px, 100vw);
  transform: translateX(-100%);
}
[data-woocommerce-cart-placement="bottom"] .drawer,
[data-woocommerce-cart-placement="bottom"] [data-woocommerce-cart-drawer-root],
[data-woocommerce-cart-placement="top"] .drawer {
  left: 0; right: 0; max-height: min(85vh, 640px);
  transform: translateY(100%);
}
[data-woocommerce-cart-placement="bottom"] .drawer { bottom: 0; }
[data-woocommerce-cart-placement="top"] .drawer { top: 0; transform: translateY(-100%); }
body.wc-cart-drawer-open [data-woocommerce-cart-drawer-host] .drawer,
body.wc-cart-drawer-open [data-woocommerce-cart-drawer-root],
body.wc-cart-drawer-open #CartDrawer,
body.js-drawer-open-right #CartDrawer {
  visibility: visible; pointer-events: auto; transform: none;
}
/* Dawn #CartDrawer-Overlay 是 fixed inset:0，在我们把 #CartDrawer 收成右侧面板后会盖住整块面板抢走点击 */
body.wc-cart-drawer-open #CartDrawer-Overlay,
body.wc-cart-drawer-open .cart-drawer__overlay,
body.js-drawer-open-right #CartDrawer-Overlay,
body.js-drawer-open-right .cart-drawer__overlay {
  display: none !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
body.wc-cart-drawer-open #CartDrawer .drawer__inner,
body.wc-cart-drawer-open #CartDrawer .cart-drawer__inner,
body.js-drawer-open-right #CartDrawer .drawer__inner,
body.js-drawer-open-right #CartDrawer .cart-drawer__inner {
  position: relative !important;
  inset: auto !important;
  left: 0 !important;
  right: auto !important;
  top: 0 !important;
  transform: none !important;
  translate: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  overflow: auto !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
body.wc-cart-drawer-open { overflow: hidden; }
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .ajaxcart__footer,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .cart__checkout,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .cart-total-price,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .text-shipping-at-checkout,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .ajaxcart__qty--minus,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .ajaxcart__qty--plus,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] input.qty,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] input[type="number"],
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .quantity,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] [data-qty],
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] [data-qty-minus],
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] [data-qty-plus],
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] [class*="progress"],
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] [class*="free-shipping"],
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] [class*="shipping-bar"],
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] [class*="discount"] {
  display: none !important;
}
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] #CartContainer,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .ajaxcart {
  display: flex !important; flex-direction: column; align-items: center; justify-content: center;
  min-height: 280px; text-align: center;
}
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .ajaxcart__empty,
[data-woocommerce-cart-drawer-root][data-woocommerce-empty="true"] .wc-empty {
  display: block !important;
  padding: 48px 28px;
  margin: 0;
  color: var(--wc-muted, #666);
  font-size: 14px;
  line-height: 1.5;
}
[data-woocommerce-cart-drawer-host] .drawer__header {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 16px 20px; border-bottom: 1px solid var(--wc-border, #e8e8e8); flex: 0 0 auto;
}
[data-woocommerce-cart-drawer-host] .drawer__title { font-size: 15px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
[data-woocommerce-cart-drawer-host] .drawer__title a { color: inherit; text-decoration: none; }
[data-woocommerce-cart-drawer-host] .js-drawer-close, [data-woocommerce-cart-drawer-host] .drawer__close {
  width: 36px; height: 36px; display: grid; place-items: center; cursor: pointer; border: 0; background: transparent;
}
[data-woocommerce-cart-drawer-host] #CartContainer,
[data-woocommerce-cart-drawer-host] .ajaxcart {
  flex: 1 1 auto; min-height: 0; overflow: auto; padding: 8px 20px 20px;
  display: flex; flex-direction: column;
}
[data-woocommerce-cart-drawer-host] .ajaxcart__inner,
[data-woocommerce-cart-drawer-host] [data-woocommerce-cart-lines] { flex: 1 1 auto; }
[data-woocommerce-cart-drawer-host] .ajaxcart__footer {
  position: sticky; bottom: 0; margin-top: auto; padding: 16px 0 8px;
  background: var(--wc-bg, #fff); border-top: 1px solid var(--wc-border, #e8e8e8);
  display: grid; gap: 8px;
}
[data-woocommerce-cart-drawer-host] .cart-total-price { display: flex; justify-content: space-between; margin: 0; font-size: 15px; }
[data-woocommerce-cart-drawer-host] .text-shipping-at-checkout { font-size: 12.5px; color: var(--wc-muted); margin: 0; }
.ajaxcart__product.woocommerce-cart-line { display: grid; }
.cart__checkout, .ajaxcart .cart__checkout {
  display: flex; align-items: center; justify-content: center; width: 100%; text-align: center;
  min-height: 48px; margin-top: 8px; border: 0; cursor: pointer;
  background: var(--wc-text, #111); color: var(--wc-bg, #fff); font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  text-decoration: none;
}

/* Woocommerce stylesheet */
.woocommerce-commerce--shopify-shell .LoadingShell { min-height: 70vh; background: var(--wc-bg); }
.woocommerce-commerce--shopify-shell .LoadingShellHeader {
  display: flex; align-items: center; min-height: 64px; padding: 0 clamp(16px, 4vw, 40px);
  border-bottom: 1px solid var(--wc-border);
}
.woocommerce-commerce--shopify-shell .LoadingShellLogoLink {
  font-size: 15px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--wc-text);
}
.woocommerce-commerce--shopify-shell .LoadingShellContent {
  display: grid; gap: 0; width: min(1100px, 100%); margin: 0 auto;
}
@media (min-width: 960px) {
  .woocommerce-commerce--shopify-shell .LoadingShellContent {
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); align-items: start;
  }
  .woocommerce-commerce--shopify-shell .LoadingShellOrderSummary {
    position: sticky; top: 0; min-height: 70vh; border-left: 1px solid var(--wc-border);
    background: var(--wc-surface); padding: clamp(20px, 3vw, 36px);
  }
}
.woocommerce-commerce--shopify-shell .LoadingShellMainContentPrimary,
.woocommerce-commerce--shopify-shell .LoadingShellOrderSummaryContent { padding: clamp(20px, 3vw, 36px); }
.woocommerce-commerce--shopify-shell .LoadingShellOrderSummaryHeading {
  margin: 0 0 16px; font-size: 14px; letter-spacing: .08em; text-transform: uppercase;
}
.woocommerce-commerce--shopify-shell .SkeletonExpressCheckout,
.woocommerce-commerce--shopify-shell .LoadingShellOrderSummaryContentPrimary,
.woocommerce-commerce--shopify-shell .FadeIn > .SkeletonExpressCheckout { display: none !important; }
.woocommerce-checkout-capture__live {
  display: grid;
  gap: var(--wc-space-6);
}
@media (min-width: 960px) {
  .woocommerce-checkout__body.woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .9fr);
    gap: var(--wc-space-6);
    align-items: start;
  }
  .woocommerce-checkout__body.woocommerce .col2-set { grid-column: 1; }
  .woocommerce-checkout__body.woocommerce #order_review_heading,
  .woocommerce-checkout__body.woocommerce #order_review { grid-column: 2; grid-row: 1; }
}

.woocommerce-cart-form, .woocommerce-checkout-review-order, .woocommerce-MyAccount-content { font-size: 14.5px; }
.shop_table, table.shop_table { width: 100%; border: 1px solid var(--wc-border); border-radius: var(--wc-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--wc-bg); }
.shop_table th, .shop_table td { padding: 14px 12px; border-bottom: 1px solid var(--wc-border); text-align: left; vertical-align: middle; }
.shop_table thead th { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--wc-muted); }
.shop_table tbody tr:last-child td { border-bottom: 0; }
.cart_item img { width: 88px; height: auto; border-radius: var(--wc-radius); }
.product-remove a.remove { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--wc-surface-2); color: var(--wc-text); font-size: 15px; text-decoration: none; }
.cart_totals, .woocommerce-checkout-review-order { margin-top: var(--wc-space-6); padding: clamp(16px, 2vw, 24px); border: 1px solid var(--wc-border); border-radius: var(--wc-radius-lg); background: var(--wc-surface); }
.cart_totals h2, .woocommerce-checkout-review-order h3, #order_review_heading { font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce-cart .actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.cart-collaterals { display: grid; gap: var(--wc-space-5); }
@media (min-width: 900px) { .woocommerce-cart .cart-collaterals { grid-template-columns: 1fr minmax(300px, 420px); align-items: start; } }
.wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .checkout-button {
  width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--wc-text); color: var(--wc-bg); border-radius: var(--wc-radius);
  font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
}
#payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 var(--wc-space-4); }
#payment ul.payment_methods li { padding: 12px 0; border-bottom: 1px solid var(--wc-border); }
#place_order { width: 100%; min-height: 48px; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, form.woocommerce-form {
  max-width: 520px; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--wc-border); border-radius: var(--wc-radius-lg);
}

/* Club Mumu / login：浮动 label 与输入值重叠修复（autofill 未加 .has-text） */
form#customer_login,
form.account__form,
.account__form,
.woocommerce-form-login,
.woocommerce-form-register {
  max-width: 420px;
  margin-inline: auto;
}
form#customer_login .text-input-wrapper,
form.account__form .text-input-wrapper,
.account__form .text-input-wrapper {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin-bottom: 16px !important;
}
form#customer_login .text-input,
form.account__form .text-input,
.account__form .text-input {
  width: 100% !important;
  box-sizing: border-box;
  padding: 20px 12px 8px !important;
  background-color: #fff !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  line-height: 22px !important;
}
form#customer_login .text-input::placeholder,
form.account__form .text-input::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}
form#customer_login .input-label,
form.account__form .input-label,
.account__form .input-label {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transform-origin: top left !important;
  pointer-events: none !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #000 !important;
  transition: transform .2s ease, top .2s ease, font-size .2s ease !important;
  z-index: 1;
}
/* 有值 / 聚焦 / autofill：label 上浮，避免与输入文字叠在一起 */
form#customer_login .text-input:focus + .input-label,
form#customer_login .text-input.has-text + .input-label,
form#customer_login .text-input:not(:placeholder-shown) + .input-label,
form#customer_login .text-input:-webkit-autofill + .input-label,
form.account__form .text-input:focus + .input-label,
form.account__form .text-input.has-text + .input-label,
form.account__form .text-input:not(:placeholder-shown) + .input-label,
form.account__form .text-input:-webkit-autofill + .input-label,
.account__form .text-input:focus + .input-label,
.account__form .text-input.has-text + .input-label,
.account__form .text-input:not(:placeholder-shown) + .input-label,
.account__form .text-input:-webkit-autofill + .input-label {
  top: 6px !important;
  transform: translateY(0) scale(0.72) !important;
  font-size: 14px !important;
  color: #333 !important;
}
/* Chrome autofill 浅蓝底盖住 label — 强制白底；animation 供 JS 捕获 autofill */
@keyframes sf-onAutoFillStart { from { opacity: 1; } to { opacity: 1; } }
form#customer_login .text-input:-webkit-autofill,
form#customer_login .text-input:-webkit-autofill:hover,
form#customer_login .text-input:-webkit-autofill:focus,
form.account__form .text-input:-webkit-autofill,
.account__form .text-input:-webkit-autofill {
  -webkit-text-fill-color: #000 !important;
  caret-color: #000;
  box-shadow: 0 0 0 1000px #fff inset !important;
  transition: background-color 99999s ease-out;
  animation-name: sf-onAutoFillStart;
  animation-duration: 0.001s;
}
form#customer_login .account__actions,
form.account__form .account__actions {
  margin-top: 8px;
}
form#customer_login .account__actions .button,
form.account__form .account__actions .button,
form#customer_login input.account-action[type="submit"] {
  width: 100%;
  min-height: 48px;
  cursor: pointer;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--wc-border); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { font-weight: 600; }
.wc-account {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  width: min(calc(100% - 48px), 1100px);
  margin: 32px auto 64px;
  min-height: 50vh;
}
.wc-account__nav-kicker {
  margin: 0 0 12px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--wc-muted, #666);
}
.wc-account__nav ul { list-style: none; margin: 0; padding: 0; }
.wc-account__nav a {
  display: block; padding: 12px 0; border-bottom: 1px solid var(--wc-border, #e8e2d8);
  text-decoration: none; color: inherit; font-size: 15px;
}
.wc-account__nav-item.is-active a { font-weight: 600; }
.wc-account__main { min-width: 0; }
.wc-account-panel h1 { margin: 0 0 8px; font-size: 32px; font-weight: 400; }
.wc-account-lead { margin: 0 0 28px; color: var(--wc-muted, #555); }
.wc-account-sub { margin: 32px 0 12px; font-size: 18px; font-weight: 600; }
.wc-account-cards {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 8px 0 24px;
}
.wc-account-card {
  display: block; padding: 20px; border: 1px solid var(--wc-border, #e8e2d8); border-radius: 8px;
  text-decoration: none; color: inherit; background: #fff;
}
.wc-account-card h2 { margin: 0 0 8px; font-size: 16px; }
.wc-account-card p, .wc-account-card address { margin: 0 0 10px; font-size: 14px; font-style: normal; color: var(--wc-muted, #555); }
.wc-account-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.wc-account-table th, .wc-account-table td { text-align: left; padding: 12px 8px; border-bottom: 1px solid var(--wc-border, #e8e2d8); }
.wc-account-empty { padding: 28px 0; }
.wc-account-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 20px; background: var(--wc-text, #111); color: #fff;
  text-decoration: none; border-radius: 4px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase;
}
.wc-account-back { margin: 0 0 16px; }
.wc-account .woocommerce-MyAccount-navigation { display: none !important; }
.wc-account .woocommerce-EditAccountForm p, .wc-account .woocommerce-address-fields p { margin: 0 0 14px; }
.wc-account .woocommerce-EditAccountForm input, .wc-account .woocommerce-address-fields input,
.wc-account .woocommerce-EditAccountForm select, .wc-account .woocommerce-address-fields select {
  width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--wc-border, #ddd); border-radius: 6px;
}
.wc-account button, .wc-account .woocommerce-Button {
  min-height: 44px; padding: 0 18px; border: 0; background: var(--wc-text, #111); color: #fff; cursor: pointer;
}
@media (min-width: 900px) {
  .wc-account { grid-template-columns: 220px minmax(0, 1fr); align-items: start; }
  .wc-account__nav { position: sticky; top: 160px; }
}
.woocommerce-account .woocommerce-MyAccount-navigation { display: none !important; }
.woocommerce-verify-email, .woocommerce-info.woocommerce-verify-email { max-width: min(calc(100% - 48px), 1100px); margin: 16px auto; }
.woocommerce-orders-table__cell-order-actions .button { min-height: 34px; padding: 6px 12px; font-size: 11.5px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews, .wc-notice {
  padding: 14px 18px; border-radius: var(--wc-radius); border: 1px solid var(--wc-border); background: var(--wc-surface); font-size: 14px;
}
.woocommerce-error { border-color: #b3261e; }
.woocommerce-message { border-color: #1a7f37; }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button, .woocommerce-info .button { margin-left: auto; }
.form-row.woocommerce-invalid input { border-color: #b3261e; }

/* ==========================================================================
   15 · Breadcrumbs, pagination, page chrome, blog
   ========================================================================== */
.wc-breadcrumbs { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin: var(--wc-space-4) auto 0; font-size: 12.5px; color: var(--wc-muted); }
.wc-breadcrumbs a:hover { text-decoration: underline; }
.wc-breadcrumbs span + span::before { content: '/'; margin: 0 8px; opacity: .5; }
.woocommerce-pagination ul, .page-numbers { display: flex; gap: 6px; list-style: none; padding: 0; justify-content: center; margin: var(--wc-space-7) 0; }
.woocommerce-pagination a, .woocommerce-pagination span, .page-numbers a, .page-numbers span {
  min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--wc-border); border-radius: var(--wc-radius); font-size: 13px;
}
.page-numbers.current, .woocommerce-pagination .current { background: var(--wc-text); color: var(--wc-bg); border-color: var(--wc-text); }
.woocommerce-captured nav.navigation.pagination,
.woocommerce-captured .woocommerce-pagination { display: none !important; }
.entry-title, .page-title { font-size: clamp(24px, 3vw, 38px); }
.entry-content > * + * { margin-top: 1em; }
.entry-content img { border-radius: var(--wc-radius); }
.entry-content a { text-decoration: underline; text-underline-offset: 4px; }
.entry-meta { color: var(--wc-muted); font-size: 12.5px; }
.woocommerce-entry { font-size: 15.5px; line-height: 1.75; }
.woocommerce-source-page__header { padding-block: clamp(28px, 5vw, 64px) var(--wc-space-5); text-align: center; }
.woocommerce-source-page__source { font-size: 12px; color: var(--wc-muted); }
.woocommerce-source-page__nav { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: var(--wc-space-6); }
.woocommerce-source-page__nav a { padding: 6px 12px; border: 1px solid var(--wc-border); border-radius: 999px; font-size: 12.5px; }
.woocommerce-source-page__nav a:hover { border-color: var(--wc-text); }

/* ==========================================================================
   16 · Footer（捕获壳全宽居中；源站 CSS 缺失时也不偏左半屏）
   ========================================================================== */
.site-footer, .section-footer,
[data-woocommerce-footer], #woocommerce-footer {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0;
  border-top: 0;
  background: transparent;
  box-sizing: border-box;
  float: none !important;
  clear: both;
}
.woocommerce-footer-capture {
  width: 100% !important;
  max-width: 100% !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-sizing: border-box;
  float: none !important;
}
/* section 通栏铺满；内部内容再居中 */
.woocommerce-footer-capture > *,
[data-woocommerce-footer] > .woocommerce-section,
[data-woocommerce-footer] > [id^="shopify-section"], [id^="woocommerce-section"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
[data-woocommerce-footer] .woocommerce-section,
[data-woocommerce-footer] [id^="shopify-section"], [id^="woocommerce-section"],
#woocommerce-footer .woocommerce-section {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
/* 常见内层容器：强制宽栏 + 水平居中（覆盖窄宽 / float / 左贴） */
[data-woocommerce-footer] .container,
[data-woocommerce-footer] .page-width,
[data-woocommerce-footer] .wrapper,
[data-woocommerce-footer] .inner,
[data-woocommerce-footer] .footer__content,
[data-woocommerce-footer] .footer__inner,
[data-woocommerce-footer] .footer-block-wrapper,
[data-woocommerce-footer] .footer__wrapper,
[data-woocommerce-footer] [class*="page-width"],
[data-woocommerce-footer] [class*="footer__content"],
[data-woocommerce-footer] [class*="footer-top"],
[data-woocommerce-footer] [class*="footer__inner"],
[data-woocommerce-footer] [class*="__container"],
[data-woocommerce-footer] [class*="__wrapper"]:not(form):not([class*="input"]),
[data-woocommerce-footer] [class*="max-w-"],
[data-woocommerce-footer] [class*="mx-auto"],
#woocommerce-footer .container,
#woocommerce-footer .page-width {
  width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)) !important;
  max-width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box;
}
/* section 直接子级若无宽栏类，也强制居中，避免整块偏左半屏 */
[data-woocommerce-footer] .woocommerce-section > *:not(script):not(style):not(link),
.woocommerce-footer-capture .woocommerce-section > *:not(script):not(style):not(link) {
  max-width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
/* 订阅区：标题/表单在内容栏内水平居中 */
[data-woocommerce-footer] [class*="newsletter"],
[data-woocommerce-footer] [class*="subscribe"],
[data-woocommerce-footer] [class*="email-signup"],
#woocommerce-footer [class*="newsletter"],
#woocommerce-footer [class*="subscribe"] {
  width: min(100%, 36rem) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
  float: none !important;
}
[data-woocommerce-footer] [class*="newsletter"] form,
[data-woocommerce-footer] [class*="subscribe"] form,
#woocommerce-footer [class*="newsletter"] form,
#woocommerce-footer [class*="subscribe"] form {
  display: flex !important;
  justify-content: center;
  align-items: stretch;
  gap: 0;
  margin-left: auto !important;
  margin-right: auto !important;
  width: min(100%, 28rem) !important;
}
/* 链接多栏：铺满内容栏，不再挤在左侧 */
.footer__columns,
[data-woocommerce-footer] [class*="footer"][class*="grid"]:not([class*="grid-cols-1"]),
[data-woocommerce-footer] [class*="footer-blocks"],
[data-woocommerce-footer] [class*="footer__blocks"],
[data-woocommerce-footer] [class*="footer__menus"],
[data-woocommerce-footer] [class*="footer__links"],
[data-woocommerce-footer] [class*="footer-menu"],
[data-woocommerce-footer] nav[class*="footer"] {
  width: 100% !important;
  max-width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  gap: var(--wc-space-6);
  padding-block: clamp(24px, 4vw, 56px);
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  justify-content: stretch;
  float: none !important;
  box-sizing: border-box;
}
[data-woocommerce-footer] [class*="footer"][class*="grid"] > *,
[data-woocommerce-footer] [class*="footer-blocks"] > *,
[data-woocommerce-footer] [class*="footer__blocks"] > *,
[data-woocommerce-footer] [class*="footer__menus"] > *,
.footer__columns > * {
  min-width: 0;
  width: auto !important;
  max-width: none !important;
  float: none !important;
}
.footer__col h3, .footer__col .footer__title { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--wc-muted); margin-bottom: var(--wc-space-3); }
.footer__col ul,
[data-woocommerce-footer] ul { list-style: none; margin: 0; padding: 0; }
.footer__col li + li { margin-top: 9px; }
.footer__col a { font-size: 13.5px; }
.footer__col a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer__newsletter { max-width: 420px; margin-inline: auto; }
.footer__newsletter form { display: flex; gap: 8px; margin-top: 10px; justify-content: center; }
.footer__bottom, .woocommerce-copyright-notice { display: none !important; }
.footer__bottom-inner { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-block: 18px; font-size: 12px; color: var(--wc-muted); }
.footer__social { display: flex; gap: 10px; justify-content: center; }
.footer__social a { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--wc-border); border-radius: 50%; }
.footer__social svg { width: 16px; height: 16px; }
.footer__payments { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.footer__payments svg { height: 20px; width: auto; }
.woocommerce-copyright-notice { font-size: 11.5px; color: var(--wc-muted); max-width: 60ch; }

/* ==========================================================================
   17 · WordPress block & core alignment
   ========================================================================== */
.alignwide { width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)); margin-inline: auto; }
.alignfull { width: 100%; }
.alignleft { float: left; margin: 0 var(--wc-space-4) var(--wc-space-3) 0; }
.alignright { float: right; margin: 0 0 var(--wc-space-3) var(--wc-space-4); }
.aligncenter { margin-inline: auto; display: block; }
.wp-block-image, .wp-block-gallery { margin: 0 0 var(--wc-space-5); }
.wp-block-gallery { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); padding: 0; list-style: none; }
.wp-caption-text, .wp-element-caption { font-size: 12.5px; color: var(--wc-muted); margin-top: 8px; }
.wp-block-quote { border-left: 2px solid var(--wc-border-strong); padding-left: var(--wc-space-4); }
.wp-block-table table { border: 1px solid var(--wc-border); }
.wp-block-table td, .wp-block-table th { padding: 10px 12px; border: 1px solid var(--wc-border); }
.sticky, .gallery-caption, .bypostauthor, .alignleft, .alignright { /* WP core requirements */ }

/* ==========================================================================
   18 · Responsive
   ========================================================================== */
@media (max-width: 1320px) { .woocommerce-captured .grid, .woocommerce-captured .list-collection, .wc-products, ul.products { --wc-cols: 3; } }
@media (max-width: 1024px) {
  ul.header__menu { display: none; }
  .header__burger { display: grid; }
  .woocommerce-captured .grid, .woocommerce-captured .list-collection, .wc-products, ul.products { --wc-cols: 3; }
  .woocommerce-product-sticky__inner { padding-block: 8px; }
}
@media (max-width: 749px) {
  :root { --wc-header-h: 56px; }
  body.woocommerce-theme { font-size: 14.5px; }
  .woocommerce-captured .grid, .woocommerce-captured .list-collection, .wc-products, ul.products { --wc-cols: 2; gap: 10px; }
  .header__actions { gap: 0; }
  .wc-toolbar { top: 0; }
  .wc-pdp__grid { gap: var(--wc-space-5); }
  .wc-pdp__summary { position: static; }
  .shop_table thead { display: none; }
  .shop_table tr { display: block; border-bottom: 1px solid var(--wc-border); padding: 12px 0; }
  .shop_table td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 6px 0; }
  .shop_table td::before { content: attr(data-title); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--wc-muted); }
  .woocommerce-captured .inside, .woocommerce-captured .v-container-full-width-desktop > .inside { width: min(calc(100% - 32px), var(--wc-width-wide)); }
}
@media (max-width: 480px) {
  .woocommerce-captured .grid, .woocommerce-captured .list-collection { --wc-cols: 2; }
  .wc-products.is-list-view .card-product { grid-template-columns: 1fr; }
  .banner__inside { padding-inline: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

@media print {
  .site-header, .site-footer, .woocommerce-product-sticky, .wc-toolbar, .wc-load-more { display: none !important; }
  body.woocommerce-theme { background: #fff; }
}

/* PDP accordion + Complete the Look + Club Mumu */
.woocommerce-pdp-capture .product-accordion__content {
  display: none;
  padding: 0 0 16px;
}
.woocommerce-pdp-capture .product-accordion.is-open > .product-accordion__content,
.woocommerce-pdp-capture .product-accordion__content.is-open,
.woocommerce-pdp-capture .product-accordion__header.is-active + .product-accordion__content {
  display: block;
}
.woocommerce-pdp-capture .product-accordion__header {
  cursor: pointer;
  user-select: none;
}
.woocommerce-pdp-capture .product-accordion__header.is-active .product-accordion__symbol--plus {
  display: none;
}
.woocommerce-pdp-capture .product-accordion__header:not(.is-active) .product-accordion__symbol--minus {
  display: none;
}
.woocommerce-pdp-capture .product-accordion__header.is-active .product-accordion__symbol--minus {
  display: inline-flex;
}
.woocommerce-pdp-capture .sf-accordion-related {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.woocommerce-pdp-capture .sf-accordion-related__item {
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.woocommerce-pdp-capture .sf-accordion-related__item img {
  width: 56px;
  height: 70px;
  object-fit: cover;
  flex-shrink: 0;
}
.woocommerce-pdp-capture .sf-accordion-related__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.woocommerce-pdp-capture .sf-accordion-related__name {
  font-size: 13px;
  line-height: 1.3;
}
.woocommerce-pdp-capture .sf-accordion-related__price {
  font-size: 12px;
  color: #666;
}
/* COMPLETE THE LOOK：横滑 flex 卡轨（slick 未 init 时源站也靠 flex；全宽下勿用 45% 巨图） */
.woocommerce-pdp-capture .complete-the-look-container,
.woocommerce-pdp-capture .complete-the-look-container--desktop,
.woocommerce-pdp-capture [data-complete-the-look-container] {
  text-align: left !important;
  padding: 24px 20px 8px !important;
  box-sizing: border-box;
}
.woocommerce-pdp-capture .complete-the-look__title {
  margin: 0 0 16px !important;
  text-align: left;
}
.woocommerce-pdp-capture .complete-the-look__slider,
.woocommerce-pdp-capture [data-complete-the-look-slider],
.woocommerce-pdp-capture .complete-the-look__slider .slick-list,
.woocommerce-pdp-capture .complete-the-look__slider .slick-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 16px;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 0 12px !important;
  margin: 0 !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  transform: none !important;
}
.woocommerce-pdp-capture .complete-the-look__slider .slick-arrow {
  display: none !important;
}
.woocommerce-pdp-capture .complete-the-look__slider .complete-the-look__slide,
.woocommerce-pdp-capture [data-complete-the-look-slider] .complete-the-look__slide,
.woocommerce-pdp-capture .complete-the-look__slide {
  flex: 0 0 220px !important;
  width: 220px !important;
  min-width: 200px !important;
  max-width: 240px !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  scroll-snap-align: start;
  box-sizing: border-box;
}
.woocommerce-pdp-capture .complete-the-look__slide-link,
.woocommerce-pdp-capture .complete-the-look__slide-image {
  display: block !important;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.woocommerce-pdp-capture .complete-the-look__slide--media,
.woocommerce-pdp-capture .complete-the-look__slide-image {
  width: 100% !important;
  overflow: hidden;
}
.woocommerce-pdp-capture .complete-the-look__slide--media img,
.woocommerce-pdp-capture .complete-the-look__slide-image img,
.woocommerce-pdp-capture .complete-the-look__slide img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 300px !important;
  display: block !important;
  aspect-ratio: 3 / 4;
  object-fit: cover !important;
}
.woocommerce-pdp-capture .complete-the-look__slide--details {
  display: flex !important;
  flex-direction: column !important;
  padding: 10px 4px 0 !important;
  text-align: left !important;
}
@media (min-width: 990px) {
  .woocommerce-pdp-capture .complete-the-look__slider .complete-the-look__slide,
  .woocommerce-pdp-capture [data-complete-the-look-slider] .complete-the-look__slide,
  .woocommerce-pdp-capture .complete-the-look__slide {
    flex: 0 0 240px !important;
    width: 240px !important;
    max-width: 260px !important;
  }
}
.woocommerce-pdp-capture .pdp__mumu-club .pdp-sign-up-cta a {
  color: #c41230;
  text-decoration: none;
}
.woocommerce-pdp-capture .pdp__mumu-club .pdp-sign-up-cta a:hover {
  text-decoration: underline;
}
/* 已登录：隐藏 Club Mumu Sign Up / Sign In 条 */
body.logged-in .woocommerce-pdp-capture .pdp__mumu-club,
body.logged-in .pdp__mumu-club {
  display: none !important;
}

/* ==========================================================================
   Home product rail (Nosto placeholder → Woo hydrate)
   ========================================================================== */
.sf-home-rail-section,
.sf-home-rail {
  width: 100%;
}
.sf-home-rail {
  width: min(calc(100% - 32px), 1440px);
  margin: 36px auto 48px;
  padding: 0;
}
.sf-home-rail__title {
  margin: 0 0 28px;
  text-align: center;
  font-size: clamp(22px, 2.6vw, 34px);
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #111;
  line-height: 1.2;
}
.sf-home-rail__slider,
.sf-home-rail .new-featured-container,
.sf-home-rail .product-new-featured-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.sf-home-rail__track,
.sf-home-rail .swiper-wrapper[data-woocommerce-home-rail],
[data-woocommerce-home-rail].swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: 16px;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  padding: 0 4px 12px;
  margin: 0;
  list-style: none;
  transform: none !important;
}
.sf-home-rail .swiper-slide,
.sf-home-rail .woocommerce-card-item,
[data-woocommerce-home-rail] > .swiper-slide,
[data-woocommerce-home-rail] > .woocommerce-card-item {
  flex: 0 0 min(280px, 72vw) !important;
  width: min(280px, 72vw) !important;
  max-width: 320px;
  scroll-snap-align: start;
  list-style: none;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  box-sizing: border-box;
}
.sf-home-rail .mumu-card,
.sf-home-rail .wc-card-wrap {
  height: 100%;
}
.sf-home-rail .mumu-card__img,
.sf-home-rail .mumu-card__image img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
}
@media (min-width: 990px) {
  .sf-home-rail .swiper-slide,
  .sf-home-rail .woocommerce-card-item,
  [data-woocommerce-home-rail] > .swiper-slide,
  [data-woocommerce-home-rail] > .woocommerce-card-item {
    flex: 0 0 280px !important;
    width: 280px !important;
  }
}
