/*
Theme Name: SiteForge L3 Live · stetson.com
SiteForge Layer: 3-live
Theme URI: https://stetson.com/
Author: SiteForge WP
Description: Full-site WooCommerce mirror of stetson.com — high-fidelity storefront () with mega nav, catalog, PDP, cart/checkout, account & policy pages, plus pages/ file routing.
Version: 1.0.45
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
   ========================================================================== */
.woocommerce-header-capture { position: relative; z-index: 50; }
.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;
}
#primary.woocommerce-captured,
#MainContent.woocommerce-main,
body.home #MainContent,
body.home #primary {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
#MainContent > :first-child { margin-top: 0; }

.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; }
.header__logo svg, .header__logo img { height: 22px; width: auto; }
.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; }
.header__menu { display: flex; align-items: center; gap: clamp(12px, 1.6vw, 26px); margin: 0; padding: 0; list-style: none; }
.header__menu > li { position: relative; }
.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; }
.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); }
.header__menu > li > a:hover::after, .header__menu > li.is-open > a::after, .header__menu > li.current-menu-item > a::after { transform: scaleX(1); }
.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; }
/* Stetson 捕获头：有货时去掉 hidden-count 后显示 (N) */
#nav-bar-wrapper #nav-user .nav-cart .cart-count:not(.hidden-count),
.site-header__cart-toggle .cart-count:not(.hidden-count),
.CartCount:not(.hidden-count) { display: inline !important; }

/* mega 下拉面板：切勿选择 Shopify details.mega-menu（内含顶级菜单文案，选中会整栏消失） */
.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__menu-item,
.woocommerce-header-capture .header__inline-menu > li,
.woocommerce-header-capture .list-menu--inline > li {
  position: relative;
  visibility: visible !important;
  opacity: 1 !important;
}
.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: 90; 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: 95; 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;
}
.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; }

/* ==========================================================================
   9 · Captured Shopify markup normalisation
   ========================================================================== */
.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;
}
/* 源站用 :not(:defined){visibility:hidden} 防 FOUC；镜像没有 Shopify 自定义元素注册时会整段留白（含头栏菜单） */
.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 !important;
  grid-template-columns: 1fr !important;
  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;
  flex-wrap: nowrap !important; /* never allow flex-wrap override to stack columns */
}
.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;
}
.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 {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1.2fr) minmax(280px, 420px) !important;
    align-items: start;
  }
  .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-width: 72px !important;
    max-height: calc(100vh - 120px);
    overflow-x: hidden;
    overflow-y: auto;
    grid-column: 1;
    grid-row: 1;
  }
  .woocommerce-pdp-capture .wc-pdp-stack,
  .woocommerce-pdp-capture [data-woocommerce-pdp-stack] {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    width: auto !important;
    max-width: 100%;
  }
  .woocommerce-pdp-capture .wc-pdp-buy,
  .woocommerce-pdp-capture [data-woocommerce-pdp-buy] {
    position: sticky; top: 88px;
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
    width: auto !important;
    max-width: 100%;
    align-self: start;
  }

/* 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,
[data-woocommerce-slot="price"].price,
.product-container .price {
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
/* PDP 买盒价：强制显示券后价样式（捕获壳 .product-price / .money.bfx-price） */
.product-price,
.product-price .money,
.money.bfx-price,
[data-woocommerce-pdp-price],
[data-product-sticky-price] {
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 8px;
}
.product-price .sf-price,
[data-woocommerce-pdp-price] .sf-price,
.money.bfx-price .sf-price,
[data-product-sticky-price] .sf-price {
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.28em;
  font-size: inherit;
}
/* 原价：删除线（含 SiteForge Prices .sf-price__was / Woo del） */
.card-product__price del, .price del,
.card-product__price .price__compare, .price .price__compare,
[data-woocommerce-slot="price"] .price__compare,
[data-woocommerce-slot="price"] .sf-price__was,
.product-container .price del,
.product-container .price__compare,
.product-price del, .product-price .sf-price__was,
.money.bfx-price del, .money.bfx-price .sf-price__was,
[data-woocommerce-pdp-price] del, [data-woocommerce-pdp-price] .sf-price__was,
[data-product-sticky-price] del, [data-product-sticky-price] .sf-price__was,
.sf-price__was,
.woocommerce-Price-amount del {
  color: #888 !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px;
  margin-right: 0;
}
.card-product__price del .woocommerce-Price-amount,
.price del .woocommerce-Price-amount,
.price__compare .woocommerce-Price-amount,
.sf-price__was .sf-price__was-num,
.sf-price__was .woocommerce-Price-amount {
  text-decoration: inherit !important;
  color: inherit !important;
  font-weight: inherit !important;
}
/* 现价：黑体加粗 */
.card-product__price ins, .price ins,
.card-product__price .price__current, .price .price__current,
[data-woocommerce-slot="price"] .price__current,
[data-woocommerce-slot="price"] .sf-price__now,
.product-container .price ins,
.product-container .price__current,
.product-price ins, .product-price .sf-price__now,
[data-woocommerce-pdp-price] ins, [data-woocommerce-pdp-price] .sf-price__now,
[data-product-sticky-price] ins, [data-product-sticky-price] .sf-price__now,
.price--on-sale .price__current,
.sf-price__now {
  text-decoration: none !important;
  color: #111 !important;
  font-weight: 800 !important;
}
.card-product__price ins .woocommerce-Price-amount,
.price ins .woocommerce-Price-amount,
.price__current .woocommerce-Price-amount,
.sf-price__now .woocommerce-Price-amount,
.sf-price__now .amount {
  text-decoration: none !important;
  color: #111 !important;
  font-weight: 800 !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;
}
/* 原站捕获卡：保证主图可见（勿强制 secondary，否则悬停换图失效） */
.woocommerce-captured .new-product-card img:not(.cf-img--secondary):not(.secondary-image-hover),
.woocommerce-captured .new-product-img img:not(.cf-img--secondary):not(.secondary-image-hover),
.woocommerce-captured #product-grid img:not(.cf-img--secondary):not(.secondary-image-hover):not([data-woocommerce-slot="image2"]) {
  opacity: 1 !important;
  visibility: visible !important;
  max-width: 100%;
  height: auto;
  display: block;
}
[data-woocommerce-hydrated-grid] .wc-card-colorways img,
.wc-card-colorways img {
  width: 12px !important; height: 12px !important; max-width: 12px !important;
  aspect-ratio: 1 !important; border-radius: 50%; object-fit: cover;
}
.wc-card-colorways {
  display: inline-flex; align-items: center; gap: 6px; margin: 8px 8px 0 0; vertical-align: middle;
}
.wc-card-colorway {
  width: 12px; height: 12px; border-radius: 50%; border: 1px solid #c8c4bc;
  display: inline-block; overflow: hidden; background: #c8c4bc; flex: 0 0 auto;
}
.wc-card-colorway.is-current { box-shadow: 0 0 0 1px #111; border-color: #111; }
.wc-card-colorways-more { font-size: 12px; color: #666; letter-spacing: 0; }
/* 分类页 banner：对标 stetson.com 左色块标题 + 右图 */
.wc-collection-banner,
#shopify-section-collection-banner.wc-collection-banner,
[data-woocommerce-collection-hero].wc-collection-banner {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wc-collection-banner .collection-full-width-wrap,
.wc-collection-banner .images-with-text,
.wc-collection-banner .image-and-content {
  width: 100%;
  margin: 0;
}
.wc-collection-banner .img-content-block,
.images-with-text .img-content-block {
  display: flex;
  width: 100%;
  position: relative;
  align-items: stretch;
  background: #3f1e1f;
  min-height: 0;
}
.wc-collection-banner .img-content-block.color-scheme--oxblood,
.images-with-text .img-content-block.color-scheme--oxblood {
  background: #3f1e1f;
}
.wc-collection-banner .flex-caption,
.images-with-text .img-content-block .flex-caption {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  padding: 40px 28px;
  box-sizing: border-box;
  background: #3f1e1f;
  color: #f1eeea;
}
.wc-collection-banner .section-title,
.images-with-text .img-content-block .section-title {
  margin: 0 0 12px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3.2vw, 36px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #f1eeea !important;
}
.wc-collection-banner .caption,
.images-with-text .img-content-block .caption {
  margin: 0;
  max-width: 28rem;
  font-family: GT-America, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  font-weight: 400;
  color: #f1eeea;
  opacity: .92;
}
.wc-collection-banner .flex-image,
.images-with-text .img-content-block .flex-image {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #eee;
}
.wc-collection-banner .box-ratio {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: var(--box-ratio-mobile, 50%);
  overflow: hidden;
  background: #e8e4de;
}
.wc-collection-banner .box-ratio img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wc-collection-banner .wc-collection-hero--no-image .flex-caption,
.wc-collection-banner .img-content-block.wc-collection-hero--no-image .flex-caption {
  min-height: 220px;
}
@media (min-width: 768px) {
  .wc-collection-banner .img-content-block.layout-desktop--image_right,
  .images-with-text .img-content-block.layout-desktop--image_right {
    flex-direction: row;
    align-items: center;
  }
  .wc-collection-banner .layout-desktop--image_right .flex-caption,
  .images-with-text .img-content-block.layout-desktop--image_right .flex-caption {
    width: 41.6667%;
    flex: 0 0 41.6667%;
    min-height: 320px;
    padding: 48px 36px;
  }
  .wc-collection-banner .layout-desktop--image_right .flex-image,
  .images-with-text .img-content-block.layout-desktop--image_right .flex-image {
    width: 58.3333%;
    flex: 0 0 58.3333%;
  }
  .wc-collection-banner .box-ratio {
    padding-bottom: var(--box-ratio, 50%);
  }
  .wc-collection-banner .section-title,
  .images-with-text .img-content-block .section-title {
    font-size: 36px;
  }
}
@media (max-width: 767px) {
  .wc-collection-banner .img-content-block.layout-mobile--image_below,
  .images-with-text .img-content-block.layout-mobile--image_below {
    flex-direction: column;
  }
}
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; }
/* Dawn FILTER：打开时必须带 menu-opening，否则只有半透明阴影、面板在屏外 */
.js details.mobile-facets__disclosure.menu-opening > .mobile-facets .mobile-facets__inner,
.js details.mobile-facets__disclosure.menu-opening .mobile-facets__inner,
details.mobile-facets__disclosure.menu-opening .mobile-facets__inner,
menu-drawer.is-open .mobile-facets__inner,
menu-drawer.menu-opening .mobile-facets__inner {
  transform: translate(0) !important;
}
/* Dawn 自带 form.mobile-facets 遮罩时，关掉重复的 wc-filter-backdrop，避免「点开只见阴影」 */
body:has(details.mobile-facets__disclosure.menu-opening) .wc-filter-backdrop,
body:has(menu-drawer.mobile-facets__wrapper.is-open details[open]) .wc-filter-backdrop {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.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; }
@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), 680px);
  max-width: 680px;
  margin: 48px auto 72px;
  text-align: center;
  box-sizing: border-box;
}
.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; }
.wc-review-modal[hidden] { display: none !important; }
.wc-review-modal {
  position: fixed; inset: 0; z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  background: rgba(18,16,14,.45);
  padding: 16px 24px;
  box-sizing: border-box;
}
.wc-review-modal__panel {
  position: relative;
  width: min(100%, 560px);
  max-height: min(96vh, 920px);
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  padding: 40px 36px 32px;
  border-radius: 4px;
  text-align: left;
  box-sizing: border-box;
}
.wc-review-modal__close {
  position: absolute; top: 12px; right: 14px; border: 0; background: none;
  font-size: 28px; line-height: 1; cursor: pointer; color: #111;
}
.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 24px; text-align: center; color: #555; font-size: 14px; }
.wc-review-form p { margin: 0 0 16px; }
.wc-review-form label { display: block; margin-bottom: 6px; font-size: 13px; }
.wc-review-form input, .wc-review-form textarea {
  width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #ddd; border-radius: 4px;
  box-sizing: border-box;
}
.wc-review-form textarea { min-height: 160px; }
.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__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__price .sf-price,
.wc-bag-row__price .sf-price,
.wc-bag-row__total .sf-price,
[data-woocommerce-cart-drawer-host] .sf-price {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  color: inherit;
}
.woocommerce-cart-line__price .sf-price__was,
.wc-bag-row__price .sf-price__was,
.wc-bag-row__total .sf-price__was,
[data-woocommerce-cart-drawer-host] .sf-price__was,
.woocommerce-cart-line__price del,
.wc-bag-row__price del,
.wc-bag-row__total del {
  text-decoration: line-through;
  opacity: .55;
  font-weight: 400;
  color: inherit;
}
.woocommerce-cart-line__price .sf-price__now,
.wc-bag-row__price .sf-price__now,
.wc-bag-row__total .sf-price__now,
[data-woocommerce-cart-drawer-host] .sf-price__now,
.woocommerce-cart-line__price ins,
.wc-bag-row__price ins,
.wc-bag-row__total ins {
  text-decoration: none;
  font-weight: 700;
  color: var(--wc-text, #3c3737);
}
.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; }
/* Timber theme sets `.quantity { width: 50px !important }` which clips − / qty / + */
.woocommerce-cart-form .quantity,
[data-woocommerce-cart] .quantity,
[data-woocommerce-cart-drawer-host] .quantity,
.ajaxcart__qty,
[data-qty] {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  min-width: fit-content !important;
  max-width: none !important;
  height: auto !important;
  line-height: 1 !important;
  float: none !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: 999px !important;
  overflow: hidden;
  background: var(--wc-bg) !important;
  text-indent: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-shrink: 0;
}
.woocommerce-cart-form .quantity .qty,
[data-woocommerce-cart] .qty,
[data-woocommerce-cart] input.qty,
[data-woocommerce-cart-drawer-host] input.qty,
[data-woocommerce-cart-drawer-host] .ajaxcart__qty-num,
.ajaxcart__qty-num,
input.ajaxcart__qty-num {
  display: inline-block !important; visibility: visible !important; opacity: 1 !important;
  float: none !important;
  width: 3.25rem !important; min-width: 3.25rem !important; max-width: none !important;
  min-height: 40px !important; height: 40px !important;
  margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important;
  text-align: center !important; color: var(--wc-text) !important;
  font-size: 14px !important; line-height: 40px !important;
  background: transparent !important;
  -moz-appearance: textfield; appearance: textfield;
}
.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,
[data-woocommerce-cart-drawer-host] .quantity button,
.ajaxcart__qty button,
[data-qty-minus], [data-qty-plus],
.ajaxcart__qty--minus, .ajaxcart__qty--plus {
  width: 36px !important; min-width: 36px !important; max-width: 36px !important;
  height: 40px !important; display: grid !important; place-items: center;
  border: 0 !important; background: transparent !important; cursor: pointer;
  color: var(--wc-text) !important; font-size: 16px !important; line-height: 1 !important;
  float: none !important; padding: 0 !important; margin: 0 !important;
  opacity: 1 !important; visibility: visible !important; text-indent: 0 !important;
}
.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] #CartDrawer,
[data-woocommerce-cart-drawer-host] [data-woocommerce-cart-drawer-root] {
  display: flex !important;
  flex-direction: column !important;
}
[data-woocommerce-cart-drawer-host] #CartContainer {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}
[data-woocommerce-cart-drawer-host] .ajaxcart__footer,
[data-woocommerce-cart-drawer-host] [data-woocommerce-cart-drawer-footer] {
  flex: 0 0 auto;
  position: relative;
  margin-top: auto;
  padding: 18px 20px 22px;
  background: var(--wc-bg, #fff);
  border-top: 1px solid var(--wc-border, #e8e8e8);
  display: grid !important;
  gap: 10px;
  box-sizing: border-box;
}
[data-woocommerce-cart-drawer-host] .cart-total-price {
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}
[data-woocommerce-cart-drawer-host] .cart-total-price__label { font-weight: 600; }
[data-woocommerce-cart-drawer-host] .cart-total-price__value { font-variant-numeric: tabular-nums; }
[data-woocommerce-cart-drawer-host] .text-shipping-at-checkout {
  font-size: 12.5px;
  color: var(--wc-muted, #666);
  margin: 0;
}
.ajaxcart__product.woocommerce-cart-line {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid #eee;
}
[data-woocommerce-cart-drawer-host] .woocommerce-cart-line__media img {
  width: 88px; height: 88px; object-fit: cover; display: block;
}
[data-woocommerce-cart-drawer-host] .woocommerce-cart-line__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
}
[data-woocommerce-cart-drawer-host] .woocommerce-cart-line__title {
  font-size: 14px;
  font-weight: 700;
  color: inherit;
  text-decoration: none;
  line-height: 1.35;
}
[data-woocommerce-cart-drawer-host] .woocommerce-cart-line__variant {
  margin: 0;
  font-size: 13px;
  color: #666;
}
[data-woocommerce-cart-drawer-host] .woocommerce-cart-line__price {
  margin: 0;
  font-size: 14px;
}
[data-woocommerce-cart-drawer-host] .woocommerce-cart-line__actions {
  display: block !important;
  width: auto;
  margin: 4px 0 0;
}
[data-woocommerce-cart-drawer-host] .woocommerce-cart-line__subtotal { display: none !important; }
[data-woocommerce-cart-drawer-host] .woocommerce-cart-line__remove {
  display: inline !important;
  margin-top: 4px;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
  color: inherit;
}
[data-woocommerce-cart-drawer-host] .quantity.ajaxcart__qty,
[data-woocommerce-cart-drawer-host] .ajaxcart__qty {
  display: inline-flex !important;
  width: auto !important;
  min-width: fit-content !important;
  max-width: none !important;
  border: 1px solid #111 !important;
  border-radius: 0 !important;
  overflow: hidden;
  background: #fff !important;
}
[data-woocommerce-cart-drawer-host] .ajaxcart__qty button,
[data-woocommerce-cart-drawer-host] .ajaxcart__qty--minus,
[data-woocommerce-cart-drawer-host] .ajaxcart__qty--plus {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
}
[data-woocommerce-cart-drawer-host] .ajaxcart__qty-num,
[data-woocommerce-cart-drawer-host] input.ajaxcart__qty-num {
  width: 40px !important;
  min-width: 40px !important;
  height: 36px !important;
  border: 0 !important;
  border-left: 1px solid #111 !important;
  border-right: 1px solid #111 !important;
  border-radius: 0 !important;
  float: none !important;
  color: #111 !important;
  font-size: 14px !important;
  line-height: 36px !important;
}
.cart__checkout, .ajaxcart .cart__checkout,
[data-woocommerce-cart-drawer-host] .cart__checkout {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  min-height: 48px;
  margin-top: 4px;
  border: 0;
  cursor: pointer;
  background: #3d2b1f !important;
  color: #fff !important;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-sizing: border-box;
}

/* Shopify LoadingShell chrome around WC checkout */
.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);
}
.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: 96px; }
}
.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,
.woocommerce-captured-shell #pagination,
.woocommerce-captured #pagination { display: none !important; }
.wc-archive-pager {
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center;
  margin: var(--wc-space-7) 0 0; padding: 0;
}
.wc-archive-pager .wc-page-num,
.wc-archive-pager .wc-page-next,
.wc-archive-pager .wc-page-ellipsis {
  min-width: 40px; height: 40px; display: grid; place-items: center;
  border: 1px solid var(--wc-border); border-radius: var(--wc-radius); font-size: 13px;
  background: var(--wc-bg, #fff); color: var(--wc-text); text-decoration: none; box-sizing: border-box;
}
.wc-archive-pager .wc-page-num.is-current {
  background: #fff; border-color: var(--wc-text); font-weight: 600;
}
.wc-archive-pager .wc-page-ellipsis { border-color: transparent; background: transparent; }
.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-blocks：上下堆叠（订阅 + 导航），勿当成多列 grid */
[data-woocommerce-footer] .footer-blocks:not(.footer-newsletter),
#woocommerce-footer .footer-blocks:not(.footer-newsletter),
.woocommerce-footer-capture .footer-blocks:not(.footer-newsletter) {
  display: block !important;
  width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box;
  padding-block: clamp(28px, 4vw, 56px);
  grid-template-columns: none !important;
}
.footer__columns,
[data-woocommerce-footer] [class*="footer"][class*="grid"]:not([class*="grid-cols-1"]):not(.footer-blocks),
[data-woocommerce-footer] [class*="footer__blocks"],
[data-woocommerce-footer] [class*="footer__menus"],
[data-woocommerce-footer] [class*="footer__links"] {
  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;
}
.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; }
.woocommerce-copyright-notice { /* keep */ }
.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) {
  .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; }
}


/* ==========================================================================
   SiteForge Stetson layout/lazyload hardening 1.0.3
   ========================================================================== */
/* SiteForge Stetson layout/lazyload hardening 1.0.3 */

/* 搜索/本地化浮层：永不参与文档流 */
#woocommerce-search,
.woocommerce-search,
.woocommerce-modal,
.woocommerce-overlay,
.woocommerce-drawer {
  position: fixed !important;
}
#woocommerce-search:not(.is-open),
.woocommerce-search:not(.is-open),
.woocommerce-modal:not(.is-open) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 首页集合：一排横排（gridlock margin 会把 25%/33% 挤换行，改 flex 均分 + 清掉左右 margin） */
.homepage-collection-inner,
.collection-inner,
.article-loop,
.index-blog .article-loop,
.homepage-bottom-collection .collection-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  justify-content: space-between;
  gap: clamp(8px, 1.2vw, 20px);
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
.homepage-collection-inner > .homepage-text-promo,
.homepage-collection-inner > .text-promo,
.collection-inner > .text-promo,
.article-loop > .article-index {
  float: none !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex: 1 1 0 !important;
  max-width: none !important;
  width: auto !important;
}
.homepage-collection-inner > .homepage-text-promo img,
.homepage-collection-inner > .text-promo img,
.collection-inner > .text-promo img,
.article-loop > .article-index img {
  width: 100% !important;
  height: auto !important;
  display: block;
  max-width: 100%;
}
@media (max-width: 989px) {
  .homepage-collection-inner,
  .collection-inner,
  .article-loop,
  .index-blog .article-loop,
  .homepage-bottom-collection .collection-inner {
    flex-wrap: wrap !important;
  }
  .homepage-collection-inner > .homepage-text-promo,
  .homepage-collection-inner > .text-promo,
  .collection-inner > .text-promo,
  .article-loop > .article-index {
    flex: 1 1 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
  }
}
@media (max-width: 749px) {
  .homepage-collection-inner > .homepage-text-promo,
  .homepage-collection-inner > .text-promo,
  .collection-inner > .text-promo,
  .article-loop > .article-index {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}


/* gridlock .row 负边距/子项 gutter 会再挤掉一列宽度 */
.homepage-collection .row,
.homepage-bottom-collection .row,
.index-blog.row,
.index-blog .row,
.homepage-collection .gridlock-fluid > .row,
.homepage-bottom-collection .gridlock-fluid > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.homepage-collection .desktop-3,
.homepage-collection .tablet-3,
.homepage-bottom-collection .desktop-4,
.homepage-bottom-collection .tablet-2,
.index-blog .desktop-half,
.index-blog .tablet-half {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 懒加载 blur-up：清晰图就位后去掉模糊 */
img.lazyload,
img.img-blur,
img.blur-up {
  filter: blur(12px);
  transform: scale(1.02);
  transition: filter .45s ease, transform .45s ease;
}
img.lazyloaded,
img.lazyload.lazyloaded,
img.blur-up.lazyloaded,
img.img-blur.lazyloaded,
img.no_blur.lazyloaded {
  filter: none !important;
  transform: none !important;
}
img.lazyloading { filter: blur(6px); }

/* PLP / PDP 推荐区网格兜底 */
#product-grid.product-grid,
ul.product-grid,
[data-woocommerce-plp-live],
[data-woocommerce-recs] ul,
[data-woocommerce-recs] .product-grid,
.woocommerce-pdp-recs .product-grid,
.woocommerce-pdp-recs .grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 24px);
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
@media (max-width: 989px) {
  #product-grid.product-grid,
  ul.product-grid,
  [data-woocommerce-plp-live],
  [data-woocommerce-recs] ul,
  [data-woocommerce-recs] .product-grid,
  .woocommerce-pdp-recs .product-grid,
  .woocommerce-pdp-recs .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
#product-grid .grid__item,
#product-grid .woocommerce-card-item,
[data-woocommerce-recs] .grid__item,
[data-woocommerce-recs] .woocommerce-card-item {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
}

/* PDP：下方推荐/评价独占一行；主区保持三列 grid（勿再对 .wc-pdp-layout 用 flex-wrap） */
.woocommerce-pdp-capture .product-main {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 420px);
  gap: clamp(16px, 2vw, 40px);
  width: min(calc(100% - 48px), 1360px);
  max-width: 100%;
  margin: 24px auto 40px;
  box-sizing: border-box;
  align-items: start;
}
@media (max-width: 989px) {
  .woocommerce-pdp-capture .product-main {
    grid-template-columns: 1fr;
  }
}
.woocommerce-pdp-capture .woocommerce-pdp-recs,
.woocommerce-pdp-capture [data-woocommerce-recs],
.woocommerce-pdp-capture .yotpo-widget {
  width: 100% !important;
  max-width: 100% !important;
  clear: both;
  grid-column: 1 / -1;
}
/* Reviews: keep centered narrow column (do not inherit full-bleed PDP width) */
.woocommerce-pdp-capture .sf-reviews,
.woocommerce-pdp-capture .wc-reviews,
body.single-product .wc-reviews {
  width: min(calc(100% - 48px), 680px) !important;
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  clear: both;
  grid-column: 1 / -1;
  justify-self: center;
}


/* 头部与主内容之间不额外留白 */
.woocommerce-header-capture { height: auto !important; overflow: visible; }
.page-main-wrapper { margin-top: 0 !important; padding-top: 0 !important; }
.page-wrap > .clear,
.page-wrap > .index-sections:empty { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }

/* SiteForge Stetson PLP card-balance fix 1.0.5 */
#product-grid.product-grid,
ul#product-grid,
ul.product-grid[data-woocommerce-plp-live] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 24px);
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
@media (max-width: 989px) {
  #product-grid.product-grid,
  ul#product-grid,
  ul.product-grid[data-woocommerce-plp-live] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
#product-grid > .woocommerce-card-item,
#product-grid > .grid__item,
ul.product-grid > .woocommerce-card-item {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  list-style: none;
  box-sizing: border-box;
}
#product-grid .product-container,
#product-grid .product-image-wrapper,
#product-grid .box-ratio {
  max-width: 100%;
  box-sizing: border-box;
}
#product-grid .product-image-wrapper img,
#product-grid .box-ratio img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
/* Escaped orphans (pre-JS): keep them from stretching full bleed */
.product-grid-container > .woocommerce-card-item,
.collection > .woocommerce-card-item,
.woocommerce-captured main > .woocommerce-card-item {
  width: calc(25% - 18px) !important;
  max-width: calc(25% - 18px) !important;
  display: inline-block !important;
  vertical-align: top;
  box-sizing: border-box;
  margin: 0 12px 24px 0 !important;
}
@media (max-width: 989px) {
  .product-grid-container > .woocommerce-card-item,
  .collection > .woocommerce-card-item {
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
  }
}

/* SiteForge Stetson PDP grid restore 1.0.6 */
html body .woocommerce-pdp-capture .wc-pdp-layout {
  display: grid !important;
  flex-direction: unset !important;
  flex-wrap: nowrap !important;
}
@media (min-width: 990px) {
  html body .woocommerce-pdp-capture .wc-pdp-layout {
    grid-template-columns: 72px minmax(0, 1.2fr) minmax(280px, 420px) !important;
  }
}
html body .woocommerce-pdp-capture .wc-pdp-stack {
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}
html body .woocommerce-pdp-capture .wc-pdp-buy {
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

/* SiteForge Stetson PDP recs orphan fix 1.0.7 */
.woocommerce-pdp-recs ul.wc-products,
.woocommerce-pdp-recs ul.product-grid,
ul.wc-products[data-woocommerce-recs],
ul.product-grid[data-woocommerce-recs] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.6vw, 24px) !important;
  width: 100% !important;
  max-width: 100% !important;
  list-style: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 989px) {
  .woocommerce-pdp-recs ul.wc-products,
  .woocommerce-pdp-recs ul.product-grid,
  ul.wc-products[data-woocommerce-recs],
  ul.product-grid[data-woocommerce-recs] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.woocommerce-pdp-recs .woocommerce-card-item,
.woocommerce-pdp-recs .grid__item,
[data-woocommerce-recs] > .woocommerce-card-item,
[data-woocommerce-recs] > .grid__item {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
/* Escaped recs orphans until JS re-homes */
body.single-product > .woocommerce-card-item,
.page-wrap > .woocommerce-card-item,
.page-main-wrapper > .woocommerce-card-item,
main > .woocommerce-card-item {
  width: calc(25% - 18px) !important;
  max-width: calc(25% - 18px) !important;
  display: inline-block !important;
  vertical-align: top;
  box-sizing: border-box;
  margin: 0 12px 24px 0 !important;
}

/* SiteForge Stetson cart backdrop one-click close 1.0.9 */
body.wc-cart-drawer-open [data-woocommerce-cart-drawer-host],
body.wc-cart-drawer-open .woocommerce-cart-drawer-host {
  visibility: visible !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.42) !important;
  cursor: pointer;
}
body.wc-cart-drawer-open [data-woocommerce-cart-drawer-host] #CartDrawer,
body.wc-cart-drawer-open [data-woocommerce-cart-drawer-host] .drawer,
body.wc-cart-drawer-open [data-woocommerce-cart-drawer-host] [data-woocommerce-cart-drawer-root] {
  pointer-events: auto !important;
  cursor: default;
  background: #fff !important;
}
/* Suppress global overlay while cart host is the backdrop — prevents double-click */
body.wc-cart-drawer-open #woocommerce-overlay,
body.wc-cart-drawer-open [data-woocommerce-overlay] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* SiteForge Stetson footer parity 1.0.10 */
#woocommerce-footer,
[data-woocommerce-footer],
.woocommerce-footer-capture .site-footer {
  background: #f3f1ec !important;
  color: #111 !important;
}
[data-woocommerce-footer] .newsletter-footer,
[data-woocommerce-footer] .newsletter-wrapper {
  width: 100% !important;
  max-width: 36rem !important;
  margin: 0 auto 2.5rem !important;
  text-align: center !important;
  height: auto !important;
  min-height: 0 !important;
  float: none !important;
}
[data-woocommerce-footer] .newsletter-heading {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  margin: 0 0 1rem !important;
  color: #111 !important;
}
[data-woocommerce-footer] .footer-newsletter,
[data-woocommerce-footer] .sign-up-wrapper {
  width: 100% !important;
  max-width: 28rem !important;
  margin: 0 auto !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
}
.wc-footer-newsletter {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 auto !important;
  border: 1px solid #111 !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
.wc-footer-newsletter__input {
  flex: 1 1 auto !important;
  border: 0 !important;
  outline: none !important;
  background: #fff !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  color: #111 !important;
  min-width: 0 !important;
}
.wc-footer-newsletter__input::placeholder { color: #9a9a9a !important; }
.wc-footer-newsletter__submit {
  flex: 0 0 48px !important;
  width: 48px !important;
  border: 0 !important;
  background: #111 !important;
  color: #fff !important;
  cursor: pointer !important;
  font-size: 18px !important;
  line-height: 1 !important;
  display: grid !important;
  place-items: center !important;
}
.newsletter-legal {
  margin: 12px 0 0 !important;
  font-size: 10px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: #777 !important;
  line-height: 1.45 !important;
}
.newsletter-legal a {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
/* 四列导航 */
[data-woocommerce-footer] .footer-nav,
[data-woocommerce-footer] .footer-nav > nav {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}
[data-woocommerce-footer] .footer-nav > nav > ul {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 48px) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 2rem !important;
  width: 100% !important;
}
[data-woocommerce-footer] .footer-sub-nav-wrapper {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  height: auto !important;
}
[data-woocommerce-footer] .nav-sub-header {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
  color: #111 !important;
}
[data-woocommerce-footer] .footer-sub-nav {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
[data-woocommerce-footer] .footer-sub-nav > li {
  margin: 0 0 8px !important;
}
[data-woocommerce-footer] .footer-sub-nav a {
  font-size: 14px !important;
  color: #111 !important;
  text-decoration: none !important;
}
[data-woocommerce-footer] .footer-sub-nav a:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
/* 底栏版权 + 法律链接 */
[data-woocommerce-footer] .footer--bottom-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  width: min(calc(100% - var(--wc-gutter) * 2), var(--wc-width-wide)) !important;
  margin: 0 auto !important;
  padding: 1.25rem 0 2rem !important;
  text-align: center !important;
  float: none !important;
}
[data-woocommerce-footer] .footer-copyright,
[data-woocommerce-footer] .footer-copyright p {
  display: block !important;
  margin: 0 !important;
  font-size: 12px !important;
  color: #333 !important;
}
[data-woocommerce-footer] .footer-bottom-menu {
  display: block !important;
  width: 100% !important;
}
[data-woocommerce-footer] .footer-bottom-menu .footer-sub-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
[data-woocommerce-footer] .footer-bottom-menu li {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  font-size: 11px !important;
}
[data-woocommerce-footer] .footer-bottom-menu a,
[data-woocommerce-footer] .footer-bottom-menu [data-acsb] {
  color: #333 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
[data-woocommerce-footer] .footer-bottom-menu a:hover {
  text-decoration: underline !important;
}
[data-woocommerce-footer] .footer-bottom-menu .separator {
  margin: 0 8px !important;
  color: #999 !important;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  border: 0 !important;
}
@media (max-width: 749px) {
  [data-woocommerce-footer] .footer-nav > nav > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* SiteForge Stetson PDP Standard / below-fold full-width 1.0.11 */
.woocommerce-pdp-capture .woocommerce-pdp-below,
.woocommerce-pdp-capture [data-woocommerce-pdp-below] {
  display: block !important;
  width: min(calc(100% - 48px), 1360px) !important;
  max-width: 100% !important;
  margin: 48px auto 24px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  clear: both !important;
  float: none !important;
}
.woocommerce-pdp-capture .woocommerce-pdp-below .extra-product-content-container,
.woocommerce-pdp-capture .extra-product-content-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box !important;
}
.woocommerce-pdp-capture .woocommerce-pdp-below .extra-product-content-module-title,
.woocommerce-pdp-capture .extra-product-content-container .extra-product-content-module-title {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.woocommerce-pdp-capture .woocommerce-pdp-below .standard-card,
.woocommerce-pdp-capture .extra-product-content-container .standard-card {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (min-width: 750px) {
  .woocommerce-pdp-capture .woocommerce-pdp-below .standard-card,
  .woocommerce-pdp-capture .extra-product-content-container .standard-card {
    flex-wrap: nowrap !important;
    gap: clamp(24px, 4vw, 64px);
    align-items: center;
  }
}

/* SiteForge Stetson PDP size / stock display 1.0.12 */
.woocommerce-pdp-capture .swatch.size,
.woocommerce-pdp-capture .swatch.clearfix.size {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  max-width: 100%;
}
.woocommerce-pdp-capture .swatch.size .swatch-header {
  flex: 0 0 100%;
  width: 100%;
}
.woocommerce-pdp-capture .swatch.size .swatch-element,
.woocommerce-pdp-capture .swatch:not(.color) .swatch-element {
  position: relative !important;
  display: inline-block !important;
  float: none !important;
  margin: 0 8px 10px 0 !important;
  vertical-align: top;
}
.woocommerce-pdp-capture .swatch.size input[type="radio"],
.woocommerce-pdp-capture .swatch:not(.color) input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  pointer-events: none !important;
  clip: rect(0, 0, 0, 0) !important;
}
.woocommerce-pdp-capture .swatch.size .swatch-element label,
.woocommerce-pdp-capture .swatch:not(.color) .swatch-element label {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #bbb9bc !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  text-align: center !important;
  box-sizing: border-box !important;
  cursor: pointer;
  background: #fff;
}
.woocommerce-pdp-capture .swatch.size .swatch-element input:checked + label,
.woocommerce-pdp-capture .swatch.size .swatch-element.is-active label,
.woocommerce-pdp-capture .swatch.size .swatch-element.selected label {
  border-color: #000 !important;
  box-shadow: inset 0 0 0 1px #000;
}
.woocommerce-pdp-capture .swatch.size .swatch-element.soldout label,
.woocommerce-pdp-capture .swatch:not(.color) .swatch-element.soldout label {
  opacity: 0.55;
  cursor: not-allowed;
}
.woocommerce-pdp-capture .swatch .crossed-out {
  display: none !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  pointer-events: none !important;
  margin: 0 !important;
}
.woocommerce-pdp-capture .swatch .swatch-element.soldout .crossed-out {
  display: block !important;
}
/* Orphan capture size chips (ids swatch-2-*) outside rebuilt .swatch.size */
.woocommerce-pdp-capture .swatch-element:not(.color):has(input[id^="swatch-"]:not([id^="swatch-size-"])) {
  display: none !important;
}
.woocommerce-pdp-capture .product-page > .swatch-element:not(.color),
.woocommerce-pdp-capture .shopify-section > .swatch-element:not(.color),
.woocommerce-pdp-capture .wc-pdp-buy > .swatch-element:not(.color) {
  display: none !important;
}

/* SiteForge Stetson announcement bar center 1.0.13 */
.woocommerce-header-capture #top-bar,
.woocommerce-header-capture .announcement-bar-wrapper,
#top-bar.announcement-bar-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.woocommerce-header-capture #top-bar .row,
#top-bar .row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
.woocommerce-header-capture #top-bar #single-promo-wrapper,
.woocommerce-header-capture #top-bar .promo-banner,
#top-bar #single-promo-wrapper,
#top-bar .promo-banner {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.woocommerce-header-capture #top-bar .promo-content,
#top-bar .promo-content,
#top-bar .promo-content span {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  float: none !important;
}

/* SiteForge Stetson ATC size ready 1.0.14 */
.woocommerce-pdp-capture input.AddtoCart.is-ready,
.woocommerce-pdp-capture .AddtoCart.is-ready {
  opacity: 1 !important;
}
.woocommerce-pdp-capture .swatch.size .swatch-element.is-active label,
.woocommerce-pdp-capture .swatch.size .swatch-element.selected label {
  border-color: #000 !important;
}

/* SiteForge Stetson PLP hover image swap 1.0.16 — match stetson.com /collections reveal */
html body #product-grid img.product-image.cf-img--secondary,
html body .product-grid img.product-image.cf-img--secondary,
html body .woocommerce-captured #product-grid img.cf-img--secondary,
html body #product-grid img[data-woocommerce-slot="image2"],
html body .collection-with-filters img.cf-img--secondary {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  opacity: 0 !important;
  visibility: visible !important;
  transition: opacity 0.2s ease !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
html body #product-grid img.product-image.cf-img--primary,
html body .product-grid img.product-image.cf-img--primary,
html body .woocommerce-captured #product-grid img.cf-img--primary,
html body #product-grid img[data-woocommerce-slot="image"],
html body .collection-with-filters img.cf-img--primary {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: opacity 0.2s ease !important;
  z-index: 1 !important;
}
html body #product-grid .product-image-wrapper:hover img.product-image.cf-img--secondary,
html body #product-grid .reveal:hover img.product-image.cf-img--secondary,
html body .product-grid .product-image-wrapper:hover img.cf-img--secondary,
html body .collection-with-filters .product-image-wrapper:hover img.cf-img--secondary,
html body #product-grid .product-image-wrapper:hover img[data-woocommerce-slot="image2"] {
  opacity: 1 !important;
}
html body #product-grid .product-image-wrapper:not(.no-secondary-image):hover img.product-image.cf-img--primary,
html body #product-grid .reveal:hover img.product-image.cf-img--primary,
html body .product-grid .product-image-wrapper:not(.no-secondary-image):hover img.cf-img--primary,
html body .collection-with-filters .product-image-wrapper:not(.no-secondary-image):hover img.cf-img--primary,
html body #product-grid .product-image-wrapper:not(.no-secondary-image):hover img[data-woocommerce-slot="image"] {
  opacity: 0 !important;
}
@media (hover: none) {
  html body #product-grid img.cf-img--secondary,
  html body #product-grid img[data-woocommerce-slot="image2"] {
    display: none !important;
  }
  html body #product-grid img.cf-img--primary,
  html body #product-grid img[data-woocommerce-slot="image"] {
    opacity: 1 !important;
    position: relative !important;
  }
}

/* SiteForge Stetson review modal taller 1.0.17 */
html body .wc-review-modal {
  align-items: center !important;
  padding: 12px 20px !important;
}
html body .wc-review-modal__panel {
  width: min(100%, 560px) !important;
  max-height: min(96vh, 920px) !important;
  padding: 40px 36px 32px !important;
  overflow-y: auto !important;
}
html body .wc-review-form textarea {
  min-height: 160px !important;
}

/* SiteForge Stetson drawer: overlay panel — never shove page content left (Timber -300px) */
html body .is-moved-by-drawer,
html body.js-drawer-open-right .is-moved-by-drawer,
html body.js-drawer-open .is-moved-by-drawer,
html body.wc-cart-drawer-open .is-moved-by-drawer,
html body .page-wrap.is-moved-by-drawer,
html body .announcement-bar-wrapper.is-moved-by-drawer,
html body .main-nav-bar-wrapper.is-moved-by-drawer,
html body #nav-bar-wrapper.is-moved-by-drawer,
html body #top-bar.is-moved-by-drawer {
  transform: none !important;
  -webkit-transform: none !important;
  translate: none !important;
  left: auto !important;
  margin-left: 0 !important;
  width: auto !important;
  max-width: none !important;
}
html body.wc-cart-drawer-open,
html body.js-drawer-open-right,
html body.is-locked {
  overflow: hidden !important;
  padding-right: 0 !important;
  width: auto !important;
}

/* SiteForge Stetson footer align 1.0.20
   - .footer-nav ul was too broad and forced nested .footer-sub-nav into 4-col grid (overlap)
   - capture left is-moved-by-drawer transform permanently shifting footer left */
html body #woocommerce-footer,
html body #woocommerce-footer .woocommerce-footer-capture,
html body #woocommerce-footer #shopify-section-footer,
html body #woocommerce-footer .footer-section,
html body #woocommerce-footer footer.site-footer {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
html body #woocommerce-footer .footer-section,
html body #woocommerce-footer .footer-section.is-moved-by-drawer,
html body #woocommerce-footer .is-moved-by-drawer {
  transform: none !important;
  left: auto !important;
  right: auto !important;
}
html body #woocommerce-footer,
html body #woocommerce-footer footer.site-footer {
  padding-left: 40px !important;
  padding-right: 40px !important;
}
html body #woocommerce-footer .row {
  display: block !important;
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 74px !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  position: relative !important;
  left: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}
html body #woocommerce-footer .footer--bottom-row {
  margin-bottom: 0 !important;
  text-align: center !important;
}
html body #woocommerce-footer .footer-copyright {
  width: 100% !important;
  text-align: center !important;
  float: none !important;
}
html body #woocommerce-footer .footer-blocks:not(.footer-newsletter) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box !important;
}
html body #woocommerce-footer .newsletter-footer,
html body #woocommerce-footer .newsletter-wrapper,
html body #woocommerce-footer .newsletter-inner {
  width: 100% !important;
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  float: none !important;
}
html body #woocommerce-footer .footer-nav,
html body #woocommerce-footer .footer-nav > nav {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  float: none !important;
}
/* ONLY the top-level nav list is a 4-col grid — not nested .footer-sub-nav */
html body #woocommerce-footer .footer-nav > nav > ul {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(24px, 3vw, 48px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 2rem !important;
  list-style: none !important;
  justify-content: stretch !important;
  box-sizing: border-box !important;
}
html body #woocommerce-footer .footer-sub-nav-wrapper,
html body #woocommerce-footer .footer-sub-nav-wrapper.desktop-3,
html body #woocommerce-footer .footer-sub-nav-wrapper.mobile-3 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
html body #woocommerce-footer .footer-sub-nav,
html body #woocommerce-footer .footer-nav ul.footer-sub-nav,
html body #woocommerce-footer .footer-nav .footer-sub-nav-wrapper > ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
html body #woocommerce-footer .footer-sub-nav > li {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 0 10px !important;
}
html body #woocommerce-footer .footer-bottom-menu .footer-sub-nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 8px !important;
  width: 100% !important;
}
html body #woocommerce-footer .footer-bottom-menu .footer-sub-nav > li {
  width: auto !important;
  margin: 4px 0 !important;
}
@media (max-width: 749px) {
  html body #woocommerce-footer .footer-nav > nav > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
