/* ==========================================================================
   VapeStudio — 设计稿还原样式
   移动端为设计基准（≤767px 与设计稿一致），≥768px 为桌面自适应扩展。
   ========================================================================== */

:root {
	--vs-ink: #292724;
	--vs-ink-2: #4b4943;
	--vs-muted: #77766f;
	--vs-soft: #a29d94;
	--vs-line: #ded9d0;
	--vs-line-2: #eeeae4;
	--vs-surface: #f5f4ef;
	--vs-surface-2: #e9e4dc;
	--vs-white: #fffefa;
	--vs-rose: #a65345;
	--vs-green: #69765e;
	--vs-amber: #ad6d42;
	--vs-blue: #8a6554;
	--vs-gutter: 16px;
	--vs-max: 1200px;
	--vs-tabbar-h: 64px;
	--vs-safe-b: env(safe-area-inset-bottom, 0px);
	--vs-r-card: 4px;
	--vs-r-box: 4px;
	--vs-r-btn: 2px;
	--vs-shadow: 0 1px 2px rgba(41, 39, 36, .05);
}

/* Industrial Precision 页面：纯黑主色、发丝线、小圆角 */
body.vs-ind { --vs-shadow: 0 1px 2px rgba(41, 39, 36, .05); }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.vs-app {
	margin: 0;
	background: var(--vs-white);
	color: var(--vs-ink);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
	font-size: 14px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	padding-bottom: calc(var(--vs-tabbar-h) + var(--vs-safe-b));
}
body.vs-ind, body.vs-ind.vs-home, body.vs-app.single-product { background: var(--vs-surface); }
body.vs-no-tabbar { padding-bottom: 0; }
:where(body.vs-app) a { color: inherit; text-decoration: none; }
:where(body.vs-app) a:hover { text-decoration: none; }
:where(body.vs-app) img { max-width: 100%; height: auto; display: block; }
:where(body.vs-app) button { font: inherit; color: inherit; cursor: pointer; }
:where(body.vs-app) :is(h1, h2, h3, h4) { margin: 0; letter-spacing: normal; }
:where(body.vs-app) p { margin: 0; }
:where(body.vs-app) :is(.vs-list, .vs-rail ul, .vs-menu, .vs-pager ul, .vs-notice__list) { margin: 0; padding: 0; list-style: none; }
:where(body.vs-app) .vs-rail ul, :where(body.vs-app) .vs-pager ul { list-style: none; margin: 0; padding: 0; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }
.vs-main { display: block; }
.vs-main > * { margin-block-start: 0; }
.vs-i { display: inline-block; flex: none; fill: currentColor; vertical-align: middle; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vs-muted { color: var(--vs-muted); }
.vs-strong { font-weight: 600; }
.vs-noimg { display: block; width: 100%; height: 100%; min-height: 80px; background: linear-gradient(135deg, #e2e8f0, #f1f5f9); }
.vs-empty { padding: 24px 16px; color: var(--vs-muted); text-align: center; }

/* 容器 */
.vs-container { width: 100%; max-width: var(--vs-max); margin-inline: auto; padding-inline: var(--vs-gutter); }
.vs-stack > * + * { margin-top: 24px; }
.vs-stack { padding-top: 16px; padding-bottom: 24px; }

/* 按钮 ------------------------------------------------------------------ */
.vs-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	height: 44px; padding: 0 20px; border: 0; border-radius: var(--vs-r-btn);
	background: var(--vs-ink); color: #fff !important; font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap;
	transition: opacity .15s, transform .1s, background .15s;
}
.vs-btn:hover { background: #1e293b; }
body.vs-ind .vs-btn:hover { background: #273549; }
.vs-btn:active { transform: scale(.98); }
.vs-btn--sm { height: 36px; padding: 0 16px; font-size: 12px; border-radius: 8px; }
.vs-btn--xs { height: 32px; padding: 0 14px; font-size: 12px; border-radius: 8px; }
.vs-btn--soft { background: var(--vs-surface-2); color: var(--vs-ink) !important; border: 1px solid var(--vs-line); }
.vs-btn--soft:hover { background: #e2e8f0; }
.vs-btn--pill { border-radius: 12px; }
.vs-btn--danger { background: var(--vs-rose); }
.vs-btn--danger:hover { background: #be123c; }
.vs-btn--rect { border-radius: 4px; height: 40px; }
.vs-btn[disabled] { opacity: .5; pointer-events: none; }
.vs-iconbtn {
	display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
	border: 0; background: transparent; border-radius: 999px; color: var(--vs-ink); position: relative; padding: 0;
}
.vs-iconbtn:hover { background: var(--vs-surface-2); }
.vs-iconbtn--round { color: var(--vs-ink-2); }
.vs-pillbtn { border: 0; background: transparent; font-size: 14px; font-weight: 600; padding: 6px 10px; border-radius: 6px; }
.vs-pillbtn:hover { background: var(--vs-surface-2); }

/* 购物车数量角标 / 红点 ---------------------------------------------- */
.vs-cart-count {
	position: absolute; top: -6px; right: -8px; min-width: 16px; height: 16px; padding: 0 4px;
	background: var(--vs-rose); color: #fff; border: 2px solid #fff; border-radius: 999px;
	font-size: 9px; font-weight: 700; line-height: 12px; text-align: center;
}
body.vs-ind .vs-cart-count { background: #000; }
.vs-cart-count.is-empty, .vs-cart-dot.is-empty { display: none; }
.vs-cart-dot { position: absolute; top: 8px; right: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--vs-rose); border: 1.5px solid #fff; }
.vs-dot { position: absolute; top: 8px; right: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--vs-rose); }
.vs-head__cart { position: relative; }

/* ==========================================================================
   顶栏
   ========================================================================== */
/* 顶部导航条：用 fixed 而不是 sticky 置顶——部分手机浏览器（尤其微信内置 X5 内核）
   对 position:sticky 支持不佳，会出现滚动时露出下方内容、条形没有真正贴顶的问题。
   fixed 兼容性更好；下面配一个等高的占位元素，避免内容被遮住（由 theme.js 自动计算高度）。 */
.vs-topbar { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: rgba(255, 255, 255, .92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transform: translateZ(0); -webkit-backface-visibility: hidden; }
.admin-bar .vs-topbar, .admin-bar .vs-appbar { top: var(--wp-admin--admin-bar--height, 32px); }
.vs-header-spacer { width: 100%; }

/* 首页：年龄提示条 */
.vs-age { background: #fffbeb; border-bottom: 1px solid #fde68a; }
.vs-age__in { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 32px; }
.vs-age__msg { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 11px; font-weight: 500; color: #92400e; }
.vs-age__msg > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-age__dot { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: #f59e0b; color: #fff; font-size: 9px; font-weight: 800; flex: none; }
.vs-age__btn { flex: none; border: 0; background: #f59e0b; color: #fff; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 4px; }
.vs-age__btn:hover { background: #d97706; }

.vs-head { border-bottom: 1px solid var(--vs-line-2); }
.vs-head__in { display: flex; align-items: center; justify-content: space-between; height: 56px; gap: 16px; }
.vs-brand { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; text-transform: uppercase; }
.vs-brand__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--vs-ink); }
.vs-brand__name { font-size: 20px; letter-spacing: -.02em; line-height: 1; }
.vs-brand__tag { font-size: 10px; font-weight: 600; letter-spacing: .04em; color: var(--vs-muted); border: 1px solid var(--vs-line); background: var(--vs-surface); padding: 1px 6px; border-radius: 4px; text-transform: uppercase; }
.vs-head__actions { display: flex; align-items: center; gap: 4px; }
.vs-head__cart { display: none; }
.vs-head__nav { display: none; }
.vs-searchpop { border-top: 1px solid var(--vs-line-2); background: #fff; padding: 10px 0; }
.vs-searchpop[hidden] { display: none; }
.vs-searchpop input { width: 100%; height: 40px; border: 1px solid var(--vs-line); border-radius: 10px; padding: 0 14px; font: inherit; background: var(--vs-surface); }

/* 分类页顶栏（Industrial） */
.vs-topbar--catalog { background: #fff; border-bottom: 1px solid var(--vs-line); }
.vs-bar { display: flex; align-items: center; justify-content: space-between; height: 56px; }
.vs-bar .vs-iconbtn { border-radius: 8px; }
.vs-bar__end { display: flex; align-items: center; gap: 12px; }
.vs-brand--center { font-size: 18px; letter-spacing: .1em; font-weight: 800; }
.vs-searchrow { padding-bottom: 12px; }
.vs-search { position: relative; display: flex; align-items: center; height: 44px; border: 1px solid var(--vs-line); border-radius: 8px; background: #fff; }
.vs-search:focus-within { border-color: #000; box-shadow: 0 0 0 1px #000; }
.vs-search__ico { position: absolute; left: 12px; display: inline-flex; color: var(--vs-muted); }
.vs-search input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; padding: 0 60px 0 40px; font: inherit; font-size: 14px; outline: 0; }
.vs-search__esc { position: absolute; right: 8px; border: 1px solid var(--vs-line); background: var(--vs-surface); color: var(--vs-muted); font-size: 10px; font-weight: 600; letter-spacing: .04em; padding: 3px 6px; border-radius: 4px; }
.vs-hot { display: flex; gap: 8px; align-items: center; margin-top: 10px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.vs-hot::-webkit-scrollbar { display: none; }
.vs-hot > span { flex: none; font-size: 11px; font-weight: 600; color: var(--vs-muted); }
.vs-hot a { flex: none; font-size: 11px; font-weight: 600; background: var(--vs-surface-2); border: 1px solid var(--vs-line); padding: 3px 10px; border-radius: 999px; }
.vs-hot a:hover { border-color: #000; }
.vs-menu { border-top: 1px solid var(--vs-line); background: #fff; }
.vs-menu[hidden] { display: none; }
.vs-menu .vs-container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; padding-block: 8px; }
.vs-menu a { display: flex; align-items: center; gap: 10px; padding: 12px 8px; font-weight: 600; border-radius: 8px; }
.vs-menu a:hover { background: var(--vs-surface-2); }

/* App 顶栏（商品 / 购物车 / 结账 / 文章） */
.vs-appbar { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: rgba(255, 255, 255, .95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--vs-line); transform: translateZ(0); -webkit-backface-visibility: hidden; }
.vs-appbar__in { display: flex; align-items: center; justify-content: space-between; height: 56px; gap: 8px; }
.vs-appbar__title { font-size: 16px; font-weight: 600; text-align: center; flex: 1; }
.vs-appbar__title--left { text-align: left; font-size: 18px; font-weight: 700; }
.vs-appbar__title small { font-size: 14px; font-weight: 500; color: var(--vs-muted); }
.vs-appbar__end { display: flex; align-items: center; gap: 4px; }
.vs-appbar__center { flex: 1; text-align: center; }
.vs-appbar__center .vs-appbar__title { font-size: 16px; font-weight: 700; line-height: 1.2; }
.vs-appbar__sub { font-size: 9px; letter-spacing: .2em; color: var(--vs-muted); font-weight: 600; }
.vs-appbar__start { display: flex; align-items: center; gap: 8px; }
.vs-vr { width: 1px; height: 16px; background: var(--vs-line); }
.vs-appbar__crumb { font-size: 12px; font-weight: 700; letter-spacing: .05em; color: var(--vs-muted); }
.vs-iconbtn--back { margin-left: -8px; }
.vs-iconbtn--rel { position: relative; }
.vs-appbar--product .vs-iconbtn--back, .vs-appbar--checkout .vs-iconbtn--back { margin-left: -8px; }
.vs-appbar--product { border-bottom-color: #f1f5f9; }
.vs-appbar__navrow { display: none; }

/* ==========================================================================
   区块标题
   ========================================================================== */
.vs-sec__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.vs-sec__head--tight { margin-bottom: 10px; align-items: center; }
.vs-sec__title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.vs-sec__title h2 { font-size: 18px; font-weight: 800; letter-spacing: -.01em; }
.vs-sec__en { font-size: 10px; font-weight: 600; letter-spacing: .08em; color: var(--vs-soft); text-transform: uppercase; }
.vs-sec__sub { margin-top: 2px; font-size: 12px; color: var(--vs-muted); }
.vs-chip { font-size: 10px; font-weight: 700; letter-spacing: .04em; padding: 1px 6px; border-radius: 4px; text-transform: uppercase; }
.vs-chip--rose { background: #fff1f2; color: var(--vs-rose); border: 1px solid #ffe4e6; }
.vs-chip--gray { background: var(--vs-surface-2); color: var(--vs-muted); border: 1px solid var(--vs-line); }
.vs-more { display: inline-flex; align-items: center; gap: 2px; font-size: 12px; font-weight: 600; color: var(--vs-muted); white-space: nowrap; }
.vs-more--strong { color: var(--vs-ink); font-weight: 700; }
.vs-more:hover { color: var(--vs-ink); }
.vs-sec__head--line { border-bottom: 1px solid var(--vs-line); padding-bottom: 12px; margin-bottom: 16px; }
.vs-sec__head--line h3, .vs-sec__head--line h1 { font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.vs-eyebrow { display: block; font-size: 10px; font-weight: 700; letter-spacing: .08em; color: var(--vs-soft); text-transform: uppercase; }
.vs-panel { border: 1px solid var(--vs-line); background: var(--vs-surface); border-radius: 16px; padding: 16px; }

/* ==========================================================================
   首页
   ========================================================================== */
.vs-homesearch { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 12px; background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 16px; }
.vs-homesearch:focus-within { border-color: var(--vs-ink); background: #fff; }
.vs-homesearch__ico { color: var(--vs-soft); }
.vs-homesearch input { flex: 1; min-width: 0; border: 0; background: transparent; outline: 0; font: inherit; font-size: 14px; }
.vs-homesearch input::placeholder { color: var(--vs-soft); }
.vs-homesearch__tag { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: var(--vs-ink); color: #fff; }

/* Hero 轮播 */
.vs-hero { position: relative; border-radius: 24px; overflow: hidden; border: 1px solid var(--vs-line); box-shadow: 0 8px 24px rgba(15, 23, 42, .08); }
.vs-hero__track, .vs-gallery__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin: 0; padding: 0; list-style: none; }
.vs-hero__track::-webkit-scrollbar, .vs-gallery__track::-webkit-scrollbar { display: none; }
.vs-hero__track > .vs-slide { flex: 0 0 100%; scroll-snap-align: start; }
.vs-slide { position: relative; min-height: 256px; display: flex; align-items: flex-end; justify-content: flex-start; color: #fff; overflow: hidden; background-size: cover; background-position: center; }
.vs-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .3) 55%, transparent 100%); z-index: 1; pointer-events: none; }
.vs-slide__inner { position: relative; z-index: 2; width: 100%; padding: 20px; display: flex; flex-direction: column; gap: 8px; color: #fff; }
.vs-slide .vs-slide__badge { background: rgba(255, 255, 255, .92); color: var(--vs-ink); font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 6px; position: absolute; top: 16px; left: 16px; margin: 0; z-index: 3; }
.vs-slide__eyebrow { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; margin: 0; }
.vs-slide__eyebrow i { width: 1px; height: 10px; background: rgba(255, 255, 255, .4); }
.vs-slide__eyebrow em { font-style: normal; color: rgba(255, 255, 255, .75); font-weight: 500; letter-spacing: .02em; }
.vs-slide__title { font-size: 24px; line-height: 1.25; font-weight: 800; color: #fff; letter-spacing: -.01em; margin: 0; }
.vs-slide__btns { display: flex; gap: 8px; margin-top: 8px; }
.vs-slide__btns .vs-btn { height: 36px; display: inline-flex; align-items: center; padding: 0 20px; font-size: 12px; font-weight: 700; border-radius: 10px; }
.vs-btn-light { background: #fff; color: var(--vs-ink) !important; }
.vs-btn-ghost { background: rgba(255, 255, 255, .12); color: #fff !important; border: 1px solid rgba(255, 255, 255, .35); backdrop-filter: blur(6px); }
.vs-dots { display: flex; align-items: center; justify-content: center; gap: 6px; }
.vs-dots--hero { position: absolute; bottom: 10px; right: 16px; z-index: 5; justify-content: flex-end; }
.vs-dots button, .vs-dots i { width: 6px; height: 6px; border-radius: 999px; border: 0; padding: 0; background: rgba(255, 255, 255, .45); transition: all .2s; }
.vs-dots .is-active { width: 20px; background: #fff; }
.vs-gallery .vs-dots button { background: #cbd5e1; }
.vs-gallery .vs-dots .is-active { background: var(--vs-ink); }

/* 信任徽章 */
.vs-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.vs-trust > div { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; padding: 10px 4px; background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 12px; }
.vs-trust .vs-i { color: var(--vs-ink); margin-bottom: 2px; }
.vs-trust b { font-size: 11px; font-weight: 700; }
.vs-trust span { font-size: 10px; color: var(--vs-muted); }

/* 精选品类 */
.vs-cats__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px 6px; }
/* 极窄屏（<400px）：5 列容易挤压导致文字被圆角卡片边缘"吃掉"看起来变形，
   改成横向滑动，每个分类给足宽度，不再挤压换行。 */
@media (max-width: 399.98px) {
	.vs-cats__grid { grid-template-columns: unset; display: flex; gap: 16px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
	.vs-cats__grid::-webkit-scrollbar { display: none; }
	.vs-cat { flex: 0 0 60px; }
}
.vs-cat { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.vs-cat__ico { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; border: 1px solid var(--vs-line); color: var(--vs-ink); box-shadow: var(--vs-shadow); transition: all .15s; }
.vs-cat:hover .vs-cat__ico { background: var(--vs-ink); color: #fff; border-color: var(--vs-ink); }
.vs-cat__name { font-size: 11px; font-weight: 600; color: var(--vs-ink-2); line-height: 1.2; }

/* 商品卡片：首页 2 列 */
.vs-grid--home { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
/* 整卡可点击（"拉伸链接"写法）：卡片内铺一层透明链接负责跳转，
   加入购物车等真正需要单独响应点击的控件用 position:relative + 更高层级盖在它上面。 */
.vs-card, .vs-feature, .vs-post, .vs-addon { position: relative; cursor: pointer; }
.vs-card__hit { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.vs-cartbtn, .vs-addon__btn, .vs-citem__del { position: relative; z-index: 2; }
.vs-card--home { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--vs-line); border-radius: 16px; overflow: hidden; box-shadow: var(--vs-shadow); }
.vs-card--home .vs-card__media { position: relative; display: block; aspect-ratio: 1 / 1; background: #0f172a; overflow: hidden; }
.vs-card--home .vs-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.vs-card--home:hover .vs-card__media img { transform: scale(1.04); }
.vs-card--home .vs-badge { position: absolute; top: 8px; left: 8px; }
.vs-flavor { position: absolute; left: 8px; bottom: 8px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(6px); color: var(--vs-ink); font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 6px; max-width: calc(100% - 16px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-card--home .vs-card__body { display: flex; flex-direction: column; justify-content: space-between; gap: 10px; padding: 12px; flex: 1; }
.vs-card--home .vs-card__title { font-size: 13px; font-weight: 700; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.vs-card--home .vs-card__tag { margin-top: 2px; font-size: 11px; color: var(--vs-muted); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.vs-card--home .vs-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }

/* 角标 */
.vs-badge { display: inline-block; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 6px; line-height: 1.2; color: #fff; background: var(--vs-ink); z-index: 2; }
.vs-badge--red { background: #e11d48; }
.vs-badge--blue { background: #2563eb; }
.vs-badge--amber { background: #d97706; }
.vs-badge--green { background: #16a34a; }
.vs-badge--line { background: #fff; color: var(--vs-ink); border: 1px solid var(--vs-line); }
.vs-badge--xs { font-size: 9px; padding: 2px 6px; }

/* 价格 */
.vs-price { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.vs-price__now { display: inline-flex; align-items: baseline; gap: 1px; color: var(--vs-rose); font-weight: 800; }
.vs-price__cur { font-size: 12px; }
.vs-price__num { font-size: 20px; letter-spacing: -.02em; line-height: 1; }
.vs-price__from { font-size: 10px; font-weight: 600; margin-left: 2px; color: var(--vs-muted); }
.vs-price__old { font-size: 10px; color: var(--vs-soft); font-weight: 500; }
.vs-price--lg .vs-price__num { font-size: 24px; }
.vs-price--lg .vs-price__cur { font-size: 14px; }

/* 购物车按钮（首页：黑色圆角方块） */
.vs-cartbtn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: none; background: var(--vs-ink); color: #fff !important; border-radius: 10px; border: 0; transition: transform .1s, background .15s; position: relative; padding: 0; }
.vs-cartbtn:hover { background: #1e293b; }
.vs-cartbtn:active { transform: scale(.92); }
.vs-cartbtn.loading { color: transparent !important; pointer-events: none; }
.vs-cartbtn.added { background: var(--vs-green); }
.vs-cartbtn.loading::after {
	content: ""; position: absolute; inset: 0; margin: auto; width: 14px; height: 14px;
	border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%;
	animation: vsSpin .7s linear infinite; display: block !important;
}
.vs-cartbtn.added::after { display: none !important; }
.vs-cartbtn + .added_to_cart { display: none; }
.vs-pdp .vs-buy .added_to_cart, .vs-pdp .vs-buybar .added_to_cart { display: none !important; }
body.woocommerce-cart .woocommerce-notices-wrapper { display: none !important; }
@keyframes vsSpin { to { transform: rotate(360deg); } }

/* 本地加载进度条：点击跳转/提交/加购时给出即时反馈，避免用户以为没点上 */
/* 本地加载动画：全屏轻蒙层 + 居中转圈，取代原来的顶部进度条 */
.vs-loadmask { position: fixed; inset: 0; z-index: 9999; width: 100vw; height: 100vh; height: 100dvh; display: flex; align-items: center; justify-content: center; background: rgba(245, 244, 239, .96); opacity: 0; pointer-events: none; transition: opacity .18s linear; }
.vs-loadmask.is-active { opacity: 1; pointer-events: all; }
.vs-loadmask__spinner { width: 36px; height: 36px; border-radius: 50%; border: 3px solid rgba(15, 23, 42, .12); border-top-color: var(--vs-ink, #000); animation: vsSpin .7s linear infinite; }

/* 新品上市 */
.vs-sec--tight .vs-sec__head { margin-bottom: 8px; }
.vs-feature { display: flex; gap: 12px; padding: 12px; background: #fff; border: 1px solid var(--vs-line); border-radius: 16px; box-shadow: var(--vs-shadow); }
.vs-feature__img { position: relative; flex: none; width: 96px; height: 128px; border-radius: 12px; overflow: hidden; background: #0f172a; }
.vs-feature__img img { width: 100%; height: 100%; object-fit: cover; }
.vs-feature__img .vs-badge { position: absolute; top: 6px; left: 6px; }
.vs-feature__body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; }
.vs-feature__title { font-size: 15px; font-weight: 800; margin-top: 2px; line-height: 1.3; }
.vs-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.vs-chips span { font-size: 10px; color: var(--vs-ink-2); background: var(--vs-surface-2); border: 1px solid var(--vs-line); padding: 2px 6px; border-radius: 4px; }
.vs-feature__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }

/* 购物须知 */
.vs-notice { background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 16px; padding: 16px; }
.vs-notice__head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--vs-line); }
.vs-notice__head h3 { font-size: 14px; font-weight: 800; }
.vs-notice__list { display: flex; flex-direction: column; gap: 14px; }
.vs-notice__list > div { display: flex; gap: 10px; }
.vs-notice__list i { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--vs-ink); margin-top: 7px; }
.vs-notice__list h4 { font-size: 13px; font-weight: 700; }
.vs-notice__list p { margin-top: 2px; font-size: 12px; line-height: 1.6; color: var(--vs-muted); }

/* 文章列表 */
.vs-list { display: flex; flex-direction: column; gap: 12px; }
.vs-post { display: flex; gap: 12px; padding: 12px; background: #fff; border: 1px solid var(--vs-line); border-radius: 16px; box-shadow: var(--vs-shadow); }
body.vs-ind .vs-post { border-radius: 8px; }
.vs-post__img { flex: none; width: 96px; height: 80px; border-radius: 10px; overflow: hidden; background: #0f172a; }
.vs-post__img img { width: 100%; height: 100%; object-fit: cover; }
.vs-post__body { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; }
.vs-post__title { font-size: 14px; font-weight: 700; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 2px 0; }
.vs-post__meta { display: flex; gap: 6px; font-size: 10px; color: var(--vs-soft); }
.vs-list--archive { margin-bottom: 24px; }

/* 页脚 */
.vs-footer { padding: 24px 0 28px; text-align: center; border-top: 1px solid var(--vs-line-2); background: #fff; }
body.vs-ind .vs-footer { background: var(--vs-surface); }
.vs-footer__brand { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--vs-ink-2); }
.vs-footer p { margin-top: 8px; font-size: 11px; line-height: 1.7; color: var(--vs-soft); }
.vs-footer__copy { font-size: 10px !important; letter-spacing: .04em; }

/* ==========================================================================
   底部 Tab 栏
   ========================================================================== */
/* 底部固定条统一加 GPU 层 + 视口偏移修正（--vs-vv-offset 由 theme.js 通过 visualViewport
   实时计算并写入），修复部分手机浏览器上滑时地址栏/工具栏重新出现导致底部条被压住、
   露出一截内容的问题（常见于微信内置浏览器等 X5 内核环境）。 */
.vs-tabbar, .vs-buybar, .vs-checkoutbar, .vs-actionbar, .woocommerce-checkout #payment div.form-row.place-order {
	transform: translate3d(0, calc(-1 * var(--vs-vv-offset, 0px)), 0);
	-webkit-backface-visibility: hidden;
	will-change: transform;
}
.vs-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-template-columns: repeat(5, 1fr); height: calc(var(--vs-tabbar-h) + var(--vs-safe-b)); padding-bottom: var(--vs-safe-b); background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid var(--vs-line); }
.vs-tab { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--vs-soft); position: relative; }
.vs-tab__ico { position: relative; display: inline-flex; }
.vs-tab__ico .vs-cart-count { top: -5px; right: -9px; }
.vs-tab__label { font-size: 10px; font-weight: 500; letter-spacing: .02em; }
.vs-tab.is-active { color: var(--vs-ink); }
.vs-tab.is-active .vs-tab__label { font-weight: 700; }
.vs-home .vs-tab.is-active::after { content: ""; position: absolute; bottom: 5px; width: 4px; height: 4px; border-radius: 50%; background: var(--vs-ink); }
.vs-no-tabbar .vs-tabbar { display: none; }

/* ==========================================================================
   分类页（Industrial）
   ========================================================================== */
/* 分类页：左侧分类导航 + 右侧商品，两栏各自独立滚动，不是整页一起滚。
   用固定高度（视口高度 - 顶栏高度 - 底部Tab栏高度）+ 各自 overflow:auto 实现，
   比 position:sticky 更稳妥（部分手机浏览器，尤其微信内置浏览器，对 sticky 支持不佳）。 */
.vs-catalog { display: grid; grid-template-columns: 96px minmax(0, 1fr); padding-inline: 0; max-width: var(--vs-max); background: #fff; }
.vs-catalog--split { align-items: stretch; height: calc(100dvh - var(--vs-header-h, 132px) - var(--vs-tabbar-h) - var(--vs-safe-b)); min-height: 360px; overflow: hidden; }
.vs-rail { background: var(--vs-surface); border-right: 1px solid var(--vs-line); }
.vs-catalog--split .vs-rail { height: 100%; overflow-y: auto; overscroll-behavior-y: contain; touch-action: pan-y; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.vs-catalog--split .vs-catalog__main { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; touch-action: pan-y; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.vs-catalog__main { padding: 16px 12px 24px; min-width: 0; background: #fff; }

/* 商品页（全部商品/搜索结果）：不带侧栏，通栏多列卡片网格 */
.vs-shopgrid { padding-top: 16px; padding-bottom: 24px; }
.vs-grid--shop { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vs-rail ul { display: flex; flex-direction: column; }
.vs-rail li a { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 14px 10px 14px 14px; color: var(--vs-muted); font-size: 13px; font-weight: 500; line-height: 1.3; border-bottom: 1px solid transparent; }
.vs-rail li a span { word-break: break-all; }
.vs-rail li:not(.is-active) a:hover { background: #fff; color: var(--vs-ink); }
.vs-rail li.is-active a { background: #fff; color: #000; font-weight: 800; }
.vs-rail li.is-active a::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: #000; }
.vs-rail__note { display: none; margin: 16px 12px; padding: 12px; border: 1px solid var(--vs-line); border-radius: 8px; background: #fff; font-size: 11px; color: var(--vs-muted); }
.vs-rail__note strong { display: block; margin-top: 2px; color: #000; font-size: 12px; }

.vs-grid--catalog { display: grid; grid-template-columns: 1fr; gap: 16px; }
.vs-card--catalog { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; overflow: hidden; }
.vs-card--catalog .vs-card__media { position: relative; display: block; margin: 12px 12px 0; aspect-ratio: 1 / 1; background: #f6f6f6; overflow: hidden; }
.vs-card--catalog .vs-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 12px; mix-blend-mode: multiply; }
.vs-card--catalog .vs-badge { position: absolute; top: 8px; left: 8px; border-radius: 2px; font-size: 10px; letter-spacing: .02em; font-weight: 600; padding: 3px 8px; }
.vs-card--catalog .vs-card__info { padding: 12px 16px 0; }
.vs-card--catalog .vs-card__meta { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; font-weight: 600; letter-spacing: .05em; color: var(--vs-muted); text-transform: uppercase; }
.vs-card--catalog .vs-card__title { margin-top: 4px; font-size: 16px; font-weight: 700; line-height: 1.35; }
.vs-card--catalog .vs-card__tag { margin-top: 4px; font-size: 12px; color: var(--vs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-card--catalog .vs-card__foot { display: flex; align-items: center; justify-content: space-between; margin: 12px 16px 0; padding: 12px 0 16px; border-top: 1px solid var(--vs-line); }
.vs-card--catalog .vs-price { align-items: baseline; gap: 8px; }
.vs-card--catalog .vs-price__now { color: #000; }
.vs-card--catalog .vs-price__cur { font-size: 12px; font-weight: 500; }
.vs-card--catalog .vs-price__num { font-size: 24px; font-weight: 700; }
.vs-card--catalog .vs-price__old { font-size: 12px; }
.vs-cartbtn--round { width: 40px; height: 40px; border-radius: 12px; background: #000; }
.vs-cartbtn--round:hover { background: #273549; }

.vs-specs { margin-top: 24px; padding: 16px; background: var(--vs-surface-2); border: 1px solid var(--vs-line); border-radius: 8px; }
.vs-specs h4 { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; margin-bottom: 12px; }
.vs-specs__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.vs-specs__grid > div { padding-left: 10px; border-left: 1px solid var(--vs-line); }
.vs-specs__grid > div.is-first { border-left: 2px solid #000; }
.vs-specs__grid span { display: block; font-size: 11px; color: var(--vs-muted); }
.vs-specs__grid strong { display: block; margin-top: 2px; font-size: 12px; font-weight: 700; line-height: 1.35; }

.vs-pager ul { display: flex; justify-content: center; gap: 6px; margin-top: 24px; }
.vs-pager a, .vs-pager span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid var(--vs-line); border-radius: 8px; font-weight: 600; background: #fff; }
.vs-pager .current { background: #000; color: #fff; border-color: #000; }

/* ==========================================================================
   商品详情
   ========================================================================== */
.vs-pdp { position: relative; }
.vs-gallery { position: relative; background: var(--vs-surface); border-bottom: 1px solid var(--vs-line); margin-inline: calc(var(--vs-gutter) * -1); }
.vs-gallery__flags { position: absolute; z-index: 3; top: 12px; left: 16px; right: 16px; display: flex; justify-content: space-between; pointer-events: none; }
.vs-flag { display: inline-flex; align-items: center; gap: 4px; background: rgba(255, 255, 255, .95); border: 1px solid var(--vs-line); border-radius: 6px; padding: 5px 10px; font-size: 12px; font-weight: 500; }
.vs-flag__ok { color: var(--vs-green); }
.vs-flag--muted { color: var(--vs-muted); font-size: 11px; }
.vs-gallery__slide { flex: 0 0 100%; scroll-snap-align: center; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3.4; padding: 44px 24px 36px; }
.vs-gallery__slide img { max-height: 100%; width: auto; max-width: 100%; object-fit: contain; mix-blend-mode: multiply; }
.vs-gallery .vs-dots { position: absolute; bottom: 14px; left: 0; right: 0; }

.vs-pdp__head { padding: 20px 0 16px; border-bottom: 1px solid var(--vs-line-2); }
.vs-pdp__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.vs-pdp__cur { font-size: 14px; font-weight: 700; }
.vs-pdp__num { font-size: 40px; font-weight: 800; letter-spacing: -.03em; line-height: 1; margin-left: -4px; }
.vs-pdp__old { font-size: 14px; color: var(--vs-soft); }
.vs-pdp__old:empty, .vs-pdp__save:empty { display: none; }
.vs-pdp__save { font-size: 11px; font-weight: 600; background: var(--vs-surface-2); border: 1px solid var(--vs-line); padding: 3px 8px; border-radius: 4px; align-self: center; }
.vs-pdp__title { margin-top: 12px; font-size: 20px; font-weight: 700; line-height: 1.35; }
.vs-pdp__sub { margin-top: 6px; font-size: 14px; color: var(--vs-muted); }

.vs-pdp__buy { padding: 20px 0; border-bottom: 1px solid var(--vs-line-2); }
.vs-pdp__label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 14px; font-weight: 700; }
.vs-pdp__label .vs-muted { font-size: 12px; font-weight: 400; }

/* Woo 表单重排 */
.vs-buy form.cart { display: flex; flex-direction: column; gap: 0; margin: 0; }
.vs-buy table.variations { display: none; }
.vs-buy .single_variation_wrap { display: flex; flex-direction: column; }
.vs-buy .woocommerce-variation-price { display: none; }
.vs-buy .woocommerce-variation-description { display: none; }
.vs-buy .woocommerce-variation-availability { order: 3; font-size: 12px; color: var(--vs-green); margin-top: 8px; }
.vs-buy .woocommerce-variation-availability p { margin: 0; }
.vs-buy .woocommerce-variation-add-to-cart { display: flex; flex-direction: column; }
.vs-buy .single_add_to_cart_button, .vs-buy .reset_variations { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }
.vs-buy .quantity { display: none; }
.vs-qtyrow { display: flex; align-items: center; justify-content: space-between; padding: 20px 0 0; }
.vs-qtyrow > span { font-size: 14px; font-weight: 500; }
.vs-buy form.cart > .quantity + .single_add_to_cart_button { display: block; }
.vs-buy .vs-stepper { margin: 0; }
.vs-buy .stock { font-size: 12px; color: var(--vs-muted); margin: 0 0 8px; }

/* 规格选择器（JS 生成） */
.vs-opt__summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 12px; text-align: left; background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 12px; }
.vs-opt__summary:hover { border-color: var(--vs-soft); }
.vs-opt__ico { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; }
.vs-opt__text { flex: 1; min-width: 0; }
.vs-opt__text b { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; }
.vs-opt__text b em { font-style: normal; background: var(--vs-ink); color: #fff; font-size: 10px; padding: 1px 6px; border-radius: 4px; font-weight: 600; }
.vs-opt__text small { display: block; margin-top: 2px; font-size: 12px; color: var(--vs-muted); }
.vs-opt__go { display: inline-flex; align-items: center; font-size: 13px; font-weight: 500; color: var(--vs-muted); flex: none; }
.vs-opt__quick { margin-top: 16px; }
.vs-opt__quick-head { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: var(--vs-muted); margin-bottom: 8px; }
.vs-opt__pills { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.vs-opt__pills::-webkit-scrollbar { display: none; }
.vs-pill { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 16px; border: 1px solid var(--vs-line); background: #fff; border-radius: 999px; font-size: 14px; font-weight: 500; color: var(--vs-ink-2); }
.vs-pill:hover { border-color: var(--vs-ink); }
.vs-pill.is-on { background: var(--vs-ink); color: #fff; border-color: var(--vs-ink); font-weight: 600; }
.vs-pill.is-on::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #34d399; }
.vs-pill.is-off { opacity: .4; text-decoration: line-through; }
.vs-opt + .vs-opt { margin-top: 16px; }
.vs-opt__group-title { font-size: 12px; color: var(--vs-muted); margin-bottom: 8px; }

/* 数量步进器 */
.vs-stepper { display: inline-flex; align-items: center; border: 1px solid var(--vs-line); border-radius: 8px; overflow: hidden; background: #fff; height: 32px; }
.vs-stepper__btn { width: 32px; height: 100%; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--vs-ink); }
.vs-stepper__btn:hover { background: var(--vs-surface-2); }
.vs-stepper .quantity { display: block !important; margin: 0; }
.vs-stepper input.qty, .vs-stepper__solo { width: 36px; height: 100%; border: 0 !important; border-inline: 1px solid var(--vs-line) !important; border-radius: 0 !important; text-align: center; font-size: 13px; font-weight: 700; background: transparent; padding: 0 !important; margin: 0; -moz-appearance: textfield; appearance: textfield; display: inline-flex; align-items: center; justify-content: center; box-shadow: none; }
.vs-stepper input.qty::-webkit-outer-spin-button, .vs-stepper input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vs-stepper--lg { height: 44px; border-radius: 8px; }
.vs-stepper--lg .vs-stepper__btn { width: 44px; }
.vs-stepper--lg input.qty { width: 56px; font-size: 16px; font-weight: 600; }

/* 亮点 */
.vs-pdp__features { padding: 20px 0; border-bottom: 1px solid var(--vs-line-2); }
.vs-pdp__features h3, .vs-pdp__desc h3 { font-size: 14px; font-weight: 700; margin-bottom: 12px; }
.vs-featlist { display: flex; flex-direction: column; gap: 12px; }
.vs-feat { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: var(--vs-surface); border: 1px solid var(--vs-line-2); border-radius: 12px; }
.vs-feat__ico { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: none; background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; }
.vs-feat h4 { font-size: 14px; font-weight: 600; }
.vs-feat p { margin-top: 2px; font-size: 12px; line-height: 1.6; color: var(--vs-muted); }
.vs-pdp__desc { padding: 20px 0; border-bottom: 1px solid var(--vs-line-2); }
.vs-prose { font-size: 14px; line-height: 1.8; color: var(--vs-ink-2); }
.vs-prose img { border-radius: 8px; }
.vs-prose > * + * { margin-top: 12px; }
.vs-pdp__notes { display: flex; justify-content: space-between; gap: 8px; padding: 16px 0 24px; font-size: 12px; color: var(--vs-soft); }
.vs-pdp__notes span { display: inline-flex; align-items: center; gap: 4px; }

/* 吸底购买栏 */
.vs-buybar { position: fixed; left: 0; right: 0; bottom: calc(var(--vs-tabbar-h) + var(--vs-safe-b)); z-index: 55; background: #fff; border-top: 1px solid var(--vs-line); box-shadow: 0 -4px 16px rgba(15, 23, 42, .04); }
.vs-buybar__in { display: flex; align-items: center; gap: 12px; max-width: var(--vs-max); margin: 0 auto; padding: 8px var(--vs-gutter); }
.vs-buybar__tools { display: flex; gap: 8px; }
.vs-tool { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 32px; border: 0; background: transparent; color: var(--vs-muted); font-size: 10px; padding: 0; }
.vs-tool:hover { color: var(--vs-ink); }
.vs-tool__on { display: none; }
.vs-tool[aria-pressed="true"] .vs-tool__on { display: inline-block; color: var(--vs-rose); }
.vs-tool[aria-pressed="true"] .vs-tool__off { display: none; }
.vs-buybar__cta { display: flex; flex: 1; gap: 8px; }
.vs-buybar__cta .vs-btn { flex: 1; height: 44px; font-size: 14px; }
.vs-buybar__cta [data-vs-addcart].is-loading { position: relative; opacity: .76; cursor: wait; }
.vs-buybar__cta [data-vs-addcart].is-loading::after { content: ""; width: 14px; height: 14px; margin-left: 8px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: vsSpin .7s linear infinite; }
.vs-pdp .vs-pdp__info { padding-bottom: 88px; }

/* 规格抽屉 */
.vs-drawer-title { font-size: 16px; font-weight: 700; }
.vs-drawer__tabs { display: flex; gap: 20px; border-bottom: 1px solid var(--vs-line); padding: 0 16px; }
.vs-drawer__tabs button { border: 0; background: transparent; padding: 12px 0; font-size: 14px; font-weight: 600; color: var(--vs-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.vs-drawer__tabs .is-on { color: var(--vs-ink); border-color: var(--vs-ink); }
.vs-drawer__list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px; max-height: 50vh; overflow-y: auto; }
.vs-drawer__item { position: relative; text-align: left; display: flex; flex-direction: column; gap: 2px; border: 1px solid var(--vs-line); background: #fff; border-radius: 12px; padding: 12px; }
.vs-drawer__item b { font-size: 14px; font-weight: 600; }
.vs-drawer__item small { font-size: 11px; color: var(--vs-green); }
.vs-drawer__item.is-on { border: 2px solid var(--vs-ink); padding: 11px; }
.vs-drawer__item.is-on::after { content: "✓"; position: absolute; top: 6px; right: 8px; font-size: 12px; font-weight: 800; }
.vs-drawer__item.is-off { opacity: .4; pointer-events: none; }
.vs-drawer__foot { padding: 12px 16px calc(12px + var(--vs-safe-b)); border-top: 1px solid var(--vs-line); }
.vs-drawer__foot .vs-btn { width: 100%; }

/* ==========================================================================
   弹层：分享面板 / 年龄核验 / Toast
   ========================================================================== */
.vs-modal { position: fixed; inset: 0; z-index: 100; display: flex; align-items: flex-end; justify-content: center; }
.vs-modal[hidden] { display: none; }
.vs-modal__mask { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); backdrop-filter: blur(2px); animation: vsFade .2s ease; }
.vs-modal--center { align-items: center; padding: 20px; }
.vs-sheet { position: relative; width: 100%; max-width: 520px; background: #fff; border-radius: 20px 20px 0 0; box-shadow: 0 -8px 32px rgba(0, 0, 0, .18); animation: vsUp .25s ease; max-height: 92vh; overflow-y: auto; }
.vs-sheet__grab { display: flex; justify-content: center; padding: 10px 0 2px; }
.vs-sheet__grab span { width: 40px; height: 4px; border-radius: 4px; background: #d1d5db; }
.vs-sheet__head { display: flex; align-items: center; justify-content: space-between; padding: 8px 20px 12px; border-bottom: 1px solid var(--vs-line-2); }
.vs-sheet__head > div { display: flex; align-items: center; gap: 8px; }
.vs-sheet__head h2 { font-size: 16px; font-weight: 800; }
.vs-sheet__x { width: 32px; height: 32px; border: 0; background: var(--vs-surface-2); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.vs-sheet__body { padding: 16px 20px; display: flex; flex-direction: column; gap: 20px; }
.vs-sheet__foot { padding: 0 20px calc(20px + var(--vs-safe-b)); }
.vs-sheet__foot button { width: 100%; height: 48px; border: 1px solid var(--vs-line); background: #fff; border-radius: 12px; font-weight: 700; }
.vs-sheet__foot button:hover { background: var(--vs-surface); }
.vs-sharecard { display: flex; gap: 12px; padding: 12px; background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 12px; align-items: center; }
.vs-sharecard__img { flex: none; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: #fff; border: 1px solid var(--vs-line); }
.vs-sharecard__img img { width: 100%; height: 100%; object-fit: contain; }
.vs-sharecard__info { flex: 1; min-width: 0; }
.vs-sharecard__title { display: flex; align-items: center; gap: 6px; }
.vs-sharecard__tag { flex: none; font-size: 9px; font-weight: 800; background: #000; color: #fff; padding: 1px 5px; border-radius: 3px; }
.vs-sharecard__title h3 { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-sharecard__info p { margin-top: 2px; font-size: 11px; color: var(--vs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-sharecard__price { display: flex; align-items: baseline; gap: 6px; margin-top: 4px; }
.vs-sharecard__price strong { font-size: 16px; font-weight: 800; }
.vs-sharecard__price del { font-size: 10px; color: var(--vs-soft); }
.vs-sharecard__qr { flex: none; display: flex; flex-direction: column; align-items: center; gap: 2px; padding-left: 10px; border-left: 1px dashed var(--vs-line); color: var(--vs-muted); }
.vs-sharecard__qr span { font-size: 9px; }
.vs-sheet__chan-head { display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; margin-bottom: 12px; }
.vs-sheet__chan-head span:last-child { font-weight: 500; color: var(--vs-soft); font-size: 11px; }
.vs-chan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.vs-chan button { display: flex; flex-direction: column; align-items: center; gap: 4px; border: 0; background: transparent; padding: 0; }
.vs-chan button > span { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 16px; background: var(--vs-surface-2); border: 1px solid var(--vs-line); transition: all .15s; }
.vs-chan button:hover > span { background: #000; color: #fff; border-color: #000; }
.vs-chan b { font-size: 12px; font-weight: 700; }
.vs-chan i { font-style: normal; font-size: 10px; color: var(--vs-soft); }
.vs-qrpanel { text-align: center; padding: 12px; border: 1px dashed var(--vs-line); border-radius: 12px; }
.vs-qrpanel[hidden] { display: none; }
.vs-qrpanel__code { display: inline-block; padding: 8px; background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; }
.vs-qrpanel__code img, .vs-qrpanel__code svg { display: block; width: 144px; height: 144px; }
.vs-qrpanel p { margin-top: 8px; font-size: 12px; color: var(--vs-muted); }

.vs-dialog { position: relative; width: 100%; max-width: 360px; background: #fff; border-radius: 20px; padding: 28px 24px 24px; text-align: center; animation: vsPop .2s ease; }
.vs-dialog__ico { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #f59e0b; color: #fff; font-weight: 800; font-size: 20px; }
.vs-dialog h2 { margin-top: 14px; font-size: 18px; font-weight: 800; }
.vs-dialog p { margin-top: 8px; font-size: 13px; line-height: 1.7; color: var(--vs-muted); }
.vs-dialog__act { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; }
.vs-dialog__act .vs-btn { width: 100%; }

.vs-toast { position: fixed; left: 50%; bottom: calc(var(--vs-tabbar-h) + 84px + var(--vs-safe-b)); transform: translateX(-50%); z-index: 120; display: flex; align-items: center; gap: 8px; background: #111827; color: #fff; padding: 10px 16px; border-radius: 10px; font-size: 13px; font-weight: 600; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); animation: vsPop .2s ease; max-width: calc(100vw - 32px); }
.vs-toast[hidden] { display: none; }
.vs-toast .vs-i { color: #34d399; }
@keyframes vsFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes vsUp { from { transform: translateY(100%); } to { transform: none; } }
@keyframes vsPop { from { opacity: 0; transform: translateX(-50%) scale(.96); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
.vs-dialog { animation-name: vsPopC; }
@keyframes vsPopC { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }

/* Woo 通知 → 顶部 Toast 条 */
.woocommerce-notices-wrapper { position: relative; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 12px 0; padding: 12px 14px; border-radius: 10px; font-size: 13px; line-height: 1.6; background: var(--vs-surface); border: 1px solid var(--vs-line); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.woocommerce-message { border-color: #bbf7d0; background: #f0fdf4; color: #166534; }
.woocommerce-error { border-color: #fecdd3; background: #fff1f2; color: #9f1239; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; background: var(--vs-ink); color: #fff !important; font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 6px; }
.woocommerce-error li { list-style: none; }
.vs-pdp .woocommerce-message, .vs-pdp .woocommerce-error, .vs-pdp .woocommerce-info { margin-inline: 0; }

/* ==========================================================================
   购物车（Industrial）
   ========================================================================== */
.vs-appbar--cart { border-bottom: 1px solid var(--vs-line); }
.vs-cart { position: relative; padding-bottom: 96px; }
.vs-promo { background: #fff; border-bottom: 1px solid var(--vs-line); }
.vs-promo__in { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-block: 10px; }
.vs-promo__msg { display: flex; align-items: center; gap: 8px; min-width: 0; }
.vs-promo__tag { flex: none; background: #000; color: #fff; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 3px; letter-spacing: .04em; }
.vs-promo__msg p { font-size: 12px; color: var(--vs-ink-2); }
.vs-promo__msg strong { font-weight: 800; }
.vs-promo__go { flex: none; display: inline-flex; align-items: center; font-size: 12px; font-weight: 700; }
.vs-cartwrap { padding-top: 12px; padding-bottom: 12px; display: flex; flex-direction: column; gap: 16px; }
.vs-store { background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; overflow: hidden; }
.vs-store__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--vs-line); background: var(--vs-surface); }
.vs-store__name { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; cursor: pointer; }
.vs-store__chip { font-style: normal; font-size: 10px; font-weight: 700; padding: 1px 5px; border: 1px solid #000; border-radius: 3px; }
.vs-store__ship { display: none; align-items: center; gap: 4px; font-size: 11px; color: var(--vs-muted); }
.vs-check { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; margin: 0; border: 1.5px solid #c6c6c6; border-radius: 4px; background: #fff; display: inline-grid; place-content: center; cursor: pointer; flex: none; }
.vs-check:checked { background: #000; border-color: #000; }
.vs-check:checked::after { content: ""; width: 9px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg) translate(1px, -1px); }
.vs-cart:not(.is-editing) .vs-citem .vs-check { pointer-events: none; }

.vs-citem { display: flex; align-items: stretch; gap: 12px; padding: 16px; border-bottom: 1px solid var(--vs-line); }
.vs-citem:last-child { border-bottom: 0; }
.vs-citem.is-removing { opacity: .42; transform: translateX(6px); pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
.vs-citem__check { display: flex; align-items: center; }
.vs-citem__img { position: relative; flex: none; width: 96px; height: 96px; background: #f6f6f6; border: 1px solid var(--vs-line); border-radius: 4px; overflow: hidden; }
.vs-citem__img a { display: block; height: 100%; }
.vs-citem__img img { width: 100%; height: 100%; object-fit: contain; padding: 6px; mix-blend-mode: multiply; }
.vs-citem__tag { position: absolute; left: 0; top: 0; background: rgba(255, 255, 255, .92); border-right: 1px solid var(--vs-line); border-bottom: 1px solid var(--vs-line); font-size: 9px; font-weight: 700; padding: 2px 6px; }
.vs-citem__body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; }
.vs-citem__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.vs-citem__name { font-size: 14px; font-weight: 700; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vs-citem__del { flex: none; display: inline-flex; color: var(--vs-soft); padding: 2px; border-radius: 4px; }
.vs-citem__del:hover { color: var(--vs-rose); background: #fff1f2; }
.vs-citem__details { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin-top: 2px; }
.vs-citem__detail { min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.vs-citem__detail-label { color: var(--vs-muted); font-size: 11px; font-weight: 700; flex: none; }
.vs-specpill { max-width: 100%; display: inline-flex; align-items: center; gap: 5px; background: #f6f2ec; border: 1px solid #e5ddd1; border-radius: 5px; padding: 4px 8px; font-size: 12px; line-height: 1.4; color: var(--vs-ink); overflow-wrap: anywhere; }
.vs-specpill b { color: var(--vs-muted); font-size: 11px; font-weight: 600; }
.vs-citem__detail--warehouse { min-height: 30px; padding: 4px 9px; border: 1px solid #e6c39f; border-radius: 5px; background: #fbf2e8; color: #70421f; }
.vs-citem__detail--warehouse .vs-citem__detail-label { color: #80512d; }
.vs-citem__detail--warehouse strong { font-size: 13px; font-weight: 800; color: #57351c; }
.vs-citem__warehouse-icon { display: inline-flex; color: #9a5b2d; }
.vs-citem__bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.vs-citem__now { display: flex; align-items: baseline; gap: 2px; font-weight: 800; }
.vs-citem__now span { font-size: 12px; }
.vs-citem__now strong { font-size: 18px; letter-spacing: -.01em; }
.vs-citem__now del { margin-left: 6px; font-size: 11px; font-weight: 400; color: var(--vs-soft); }
.vs-cart .vs-stepper { height: 28px; border-radius: 4px; }
.vs-cart .vs-stepper__btn { width: 28px; }
.vs-cart .vs-stepper input.qty { width: 32px; font-size: 12px; }
.vs-update { position: absolute !important; left: -9999px; }

.vs-coupon { background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; padding: 0 16px; }
.vs-coupon summary { padding: 14px 0; font-size: 13px; font-weight: 700; cursor: pointer; list-style: none; }
.vs-coupon summary::-webkit-details-marker { display: none; }
.vs-coupon[open] summary { border-bottom: 1px solid var(--vs-line); }
.vs-coupon__row { display: flex; gap: 8px; padding: 12px 0 16px; }
.vs-coupon__row input { flex: 1; min-width: 0; height: 36px; border: 1px solid var(--vs-line); border-radius: 6px; padding: 0 10px; font: inherit; }

.vs-addons__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.vs-addons__head h2 { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; }
.vs-addons__head h2 i { width: 3px; height: 14px; background: #000; border-radius: 2px; }
.vs-addons__head span { font-size: 11px; color: var(--vs-muted); }
.vs-addons__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.vs-addon { min-width: 0; }
.woocommerce-notices-wrapper { padding-inline: 0; }
.vs-cart > .woocommerce-notices-wrapper, .woocommerce-cart .woocommerce-notices-wrapper { max-width: var(--vs-max); margin-inline: auto; padding-inline: var(--vs-gutter); }
.vs-addon { display: flex; gap: 10px; padding: 10px; background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; }
.vs-addon__img { flex: none; width: 64px; height: 64px; background: #f6f6f6; border-radius: 4px; overflow: hidden; }
.vs-addon__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 4px; }
.vs-addon__body { min-width: 0; flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.vs-addon__cat { font-size: 9px; font-weight: 700; letter-spacing: .06em; color: var(--vs-soft); text-transform: uppercase; }
.vs-addon h4 { font-size: 12px; font-weight: 700; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.vs-addon__foot { display: flex; align-items: center; justify-content: space-between; gap: 4px; font-size: 12px; font-weight: 800; }
.vs-addon__foot del { font-weight: 400; color: var(--vs-soft); font-size: 10px; }
.vs-addon__btn { display: inline-flex; align-items: center; gap: 2px; background: #000; color: #fff !important; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 4px; white-space: nowrap; }
.vs-addon__cat { display: inline-flex; align-self: flex-start; padding: 2px 6px; color: #8b5d3f; background: #f4ece3; border: 1px solid #ead9c8; border-radius: 2px; letter-spacing: .02em; text-transform: none; }
.vs-addon__btn { border-radius: 2px; background: var(--vs-ink); }
.vs-addon__btn:hover { background: #45403a; }

.vs-assure { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 16px 8px; border: 1px solid var(--vs-line); border-radius: 8px; background: var(--vs-surface-2); text-align: center; }
.vs-assure > div { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.vs-assure strong { font-size: 11px; font-weight: 800; margin-top: 2px; }
.vs-assure span { font-size: 10px; color: var(--vs-muted); }

.vs-checkoutbar { position: fixed; left: 0; right: 0; bottom: calc(var(--vs-tabbar-h) + var(--vs-safe-b)); z-index: 55; background: #fff; border-top: 1px solid var(--vs-line); box-shadow: 0 -4px 16px rgba(0, 0, 0, .04); }
.vs-checkoutbar__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 64px; }
.vs-checkoutbar__all { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.vs-checkoutbar__right { display: flex; align-items: center; gap: 12px; }
.vs-checkoutbar__sum { text-align: right; line-height: 1.2; }
.vs-checkoutbar__sum > div:first-child { font-size: 12px; font-weight: 700; }
.vs-checkoutbar__sum b { font-size: 12px; }
.vs-checkoutbar__sum strong { font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.vs-checkoutbar__sub { display: flex; justify-content: flex-end; gap: 4px; font-size: 10px; color: var(--vs-muted); margin-top: 2px; }
.vs-checkoutbar__sub i { font-style: normal; }
.vs-checkoutbar .vs-btn { height: 44px; padding: 0 20px; }
.vs-checkoutbar .vs-btn em { font-style: normal; font-weight: 400; opacity: .8; font-size: 12px; }
.vs-checkoutbar .vs-btn[hidden] { display: none; }
.vs-emptycart { display: flex; flex-direction: column; align-items: center; gap: 16px; padding-block: 72px; color: var(--vs-muted); }
.vs-cart.is-editing .vs-citem .vs-check { pointer-events: auto; }

/* ==========================================================================
   结账（Industrial）
   ========================================================================== */
.vs-container--checkout { padding-top: 12px; padding-bottom: 24px; max-width: 720px; }
.vs-checkout { display: flex; flex-direction: column; gap: 12px; padding-bottom: 130px; }
.vs-box { background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; }
.vs-address { padding: 16px; }
.vs-address__head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.vs-address__head h2 { font-size: 15px; font-weight: 800; }
.vs-address__badge { margin-left: auto; display: inline-flex; align-items: center; gap: 3px; font-size: 10px; font-weight: 700; color: var(--vs-green); background: #f0fdf4; border: 1px solid #bbf7d0; padding: 2px 6px; border-radius: 4px; }
.vs-address__note { display: flex; align-items: center; gap: 4px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--vs-line); font-size: 12px; color: var(--vs-muted); }
.vs-address__note span { color: var(--vs-soft); }
.vs-address .woocommerce-billing-fields > h3, .vs-address .woocommerce-shipping-fields > h3:not(#ship-to-different-address), .vs-address .woocommerce-additional-fields > h3 { display: none; }
.vs-address .woocommerce-billing-fields__field-wrapper, .vs-address .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.woocommerce-checkout .vs-address .form-row { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-checkout .vs-address .form-row label { line-height: 1.4 !important; margin: 0 !important; display: block; }
.vs-address .woocommerce-input-wrapper { display: block; width: 100%; }
.vs-address .woocommerce-billing-fields__field-wrapper, .vs-address .woocommerce-shipping-fields__field-wrapper { margin: 0; }
.vs-address .form-row-wide, .vs-address #billing_address_1_field, .vs-address #billing_email_field, .vs-address #billing_country_field { grid-column: 1 / -1; }
.vs-address label, .vs-checkout .woocommerce-checkout label { font-size: 12px; font-weight: 600; color: var(--vs-ink-2); }
.vs-address .required { color: var(--vs-rose); text-decoration: none; border: 0; }
.vs-address input.input-text, .vs-address select, .vs-address textarea, .select2-container--default .select2-selection--single { width: 100%; height: 42px; border: 1px solid var(--vs-line); border-radius: 6px; padding: 0 12px; font: inherit; font-size: 14px; background: #fff; }
.vs-address .select2-container .select2-selection--single { display: flex; align-items: center; }
.vs-address .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.4; }
.vs-address .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; }
.vs-address input:focus, .vs-address select:focus { outline: 0; border-color: #000; box-shadow: 0 0 0 1px #000; }
.vs-address #ship-to-different-address { grid-column: 1 / -1; font-size: 13px; margin: 12px 0 0; }
.vs-address #ship-to-different-address label { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.vs-address .col-2 { margin-top: 0; }
.woocommerce-invalid-required-field input, .woocommerce-invalid-required-field select { border-color: var(--vs-rose) !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin: 0 0 12px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0; background: #fff; }
.woocommerce-form-coupon { background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; padding: 16px; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-form-coupon p { margin: 0; }
.woocommerce-form-coupon .form-row-first { flex: 1; }
.woocommerce-form-coupon input { width: 100%; height: 40px; border: 1px solid var(--vs-line); border-radius: 6px; padding: 0 10px; }

.vs-items__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--vs-line); background: var(--vs-surface); border-radius: 8px 8px 0 0; }
.vs-items__head > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.vs-items__cap { font-size: 10px; font-weight: 700; letter-spacing: .1em; color: var(--vs-muted); white-space: nowrap; }
.vs-items__head i { width: 4px; height: 4px; border-radius: 50%; background: var(--vs-soft); }
.vs-items__head b { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-items__toggle { display: inline-flex; align-items: center; gap: 2px; border: 0; background: transparent; font-size: 12px; font-weight: 600; color: var(--vs-muted); white-space: nowrap; }
.vs-items__list[hidden] { display: none; }
.vs-item { display: flex; gap: 12px; padding: 16px; border-bottom: 1px solid var(--vs-line); }
.vs-item:last-child { border-bottom: 0; }
.vs-item__img { position: relative; flex: none; width: 80px; height: 80px; background: #f6f6f6; border: 1px solid var(--vs-line); border-radius: 4px; overflow: hidden; }
.vs-item__img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; mix-blend-mode: multiply; }
.vs-item__img span { position: absolute; right: 0; bottom: 0; background: #000; color: #fff; font-size: 9px; font-weight: 700; padding: 1px 5px; border-radius: 3px 0 0 0; }
.vs-item__main { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; }
.vs-item__row { display: flex; justify-content: space-between; gap: 8px; }
.vs-item__row h3 { font-size: 14px; font-weight: 700; line-height: 1.35; }
.vs-item__price { text-align: right; flex: none; }
.vs-item__price strong { display: block; font-size: 16px; font-weight: 800; }
.vs-item__price small { display: block; font-size: 10px; color: var(--vs-muted); }
.vs-item__chips { display: flex; flex-wrap: wrap; gap: 4px; }
.vs-item__chips span { font-size: 11px; color: var(--vs-ink-2); background: var(--vs-surface-2); border: 1px solid var(--vs-line); padding: 1px 6px; border-radius: 3px; }
.vs-item__foot { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--vs-muted); }
.vs-item__foot b { color: #000; font-size: 13px; }

.vs-service__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--vs-line); }
.vs-service__row:last-child { border-bottom: 0; }
.vs-service__title { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; }
.vs-service__title--inline { font-weight: 700; }
.vs-mini { font-style: normal; font-size: 10px; font-weight: 700; padding: 1px 6px; border: 1px solid var(--vs-line); background: var(--vs-surface-2); border-radius: 3px; }
.vs-service__l p { margin-top: 2px; font-size: 11px; color: var(--vs-muted); }
.vs-service__r { font-size: 13px; font-weight: 800; text-align: right; flex: none; }
.vs-service__r--muted { font-weight: 400; font-size: 12px; color: var(--vs-muted); }
.vs-service__row--methods { padding: 0 16px; }
.vs-service__row--methods:has(.shipping td ul li:only-child) { display: none; }
.vs-shiptable { width: 100%; border-collapse: collapse; }
.vs-shiptable th { display: none; }
.vs-shiptable td { padding: 10px 0; font-size: 13px; }
.vs-shiptable ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vs-shiptable li { display: flex; align-items: center; gap: 8px; }
.vs-service__row--note { flex-direction: column; align-items: stretch; gap: 8px; }
.vs-service__row--note label { font-size: 13px; font-weight: 800; }
.vs-service__row--note label small { font-weight: 400; color: var(--vs-muted); }
.vs-note { position: relative; }
.vs-note input { width: 100%; height: 44px; padding: 0 60px 0 12px; border: 1px solid var(--vs-line); border-radius: 6px; font: inherit; font-size: 13px; background: #fff; }
.vs-note input:focus { outline: 0; border-color: #000; box-shadow: 0 0 0 1px #000; }
.vs-note span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 10px; color: var(--vs-soft); }

.vs-sum { padding: 16px; }
.vs-sum__row { display: flex; align-items: center; justify-content: space-between; padding: 6px 0; font-size: 13px; color: var(--vs-muted); }
.vs-sum__row b { font-weight: 500; color: var(--vs-ink-2); }
.vs-sum__row.cart-discount b { color: var(--vs-rose); }
.vs-sum__total { display: flex; align-items: flex-end; justify-content: space-between; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--vs-line); }
.vs-sum__total > div:first-child { display: flex; align-items: baseline; gap: 4px; }
.vs-sum__total > div:first-child span { font-size: 14px; font-weight: 800; color: #000; }
.vs-sum__total small { font-size: 10px; color: var(--vs-muted); }
.vs-sum__amt { display: flex; align-items: baseline; }
.vs-sum__amt b { font-size: 14px; font-weight: 700; }
.vs-sum__amt strong { font-size: 32px; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.vs-sum__amt b:last-child { font-size: 13px; font-weight: 500; color: var(--vs-muted); }
.vs-legalnote { padding: 8px 8px 0; font-size: 11px; line-height: 1.7; text-align: center; color: var(--vs-muted); }

/* 支付方式 + 吸底支付栏 */
.woocommerce-checkout #payment { background: #fff !important; border: 1px solid var(--vs-line); border-radius: 8px !important; margin-top: 12px; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0; padding: 0 !important; border: 0 !important; text-align: left; }
.woocommerce-checkout #payment ul.payment_methods > li { padding: 14px 16px; border-bottom: 1px solid var(--vs-line); margin: 0; line-height: 1.5; }
.woocommerce-checkout #payment ul.payment_methods > li:last-child { border-bottom: 0; }
.woocommerce-checkout #payment ul.payment_methods li input[type=radio] { margin: 0 8px 0 0; accent-color: #000; width: 16px; height: 16px; }
.woocommerce-checkout #payment ul.payment_methods li label { display: inline-flex; align-items: center; font-size: 14px; font-weight: 700; cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods li img { display: inline-block; max-height: 20px; width: auto; margin-left: 8px; }
.woocommerce-checkout #payment div.payment_box { margin: 10px 0 0 !important; padding: 10px 12px !important; background: var(--vs-surface) !important; border-radius: 6px; font-size: 12px; color: var(--vs-muted); }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.payment_box p { margin: 0; }
.woocommerce-checkout #payment div.form-row.place-order { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; padding: 10px var(--vs-gutter) calc(10px + var(--vs-safe-b)) !important; background: #fff; border-top: 1px solid var(--vs-line); box-shadow: 0 -4px 16px rgba(0, 0, 0, .05); float: none; width: auto; }
.woocommerce-checkout #payment div.form-row.place-order .woocommerce-terms-and-conditions-wrapper, .woocommerce-checkout #payment div.form-row.place-order .woocommerce-privacy-policy-text { flex: 0 0 100%; order: -1; max-height: 0; overflow: hidden; margin: 0; }
.vs-dock__total { flex: none; }
.vs-dock__total span { display: block; font-size: 11px; font-weight: 700; color: var(--vs-muted); line-height: 1.2; }
.vs-dock__total div { display: flex; align-items: baseline; color: #000; }
.vs-dock__total b { font-size: 14px; font-weight: 700; }
.vs-dock__total strong { font-size: 28px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.vs-dock__total b:last-child { font-size: 12px; font-weight: 500; color: var(--vs-muted); }
.woocommerce-checkout #payment #place_order { flex: 1; float: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; min-width: 0; background: #000; color: #fff; border: 0; border-radius: 8px; font-size: 15px; font-weight: 700; padding: 0 16px; }
.woocommerce-checkout #payment #place_order:hover { background: #273549; }
.woocommerce-checkout #payment #place_order.processing { opacity: .6; }
.woocommerce-checkout .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }
.vs-privacy { padding: 0 8px; font-size: 10px; color: var(--vs-muted); text-align: center; }

/* 订单完成页 */
.vs-thanks { display: flex; flex-direction: column; gap: 14px; padding-bottom: 24px; }
.vs-thanks__hero { text-align: center; padding: 28px 16px 24px; background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; }
.vs-thanks__ico { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #000; color: #fff; }
.vs-thanks__hero--fail .vs-thanks__ico { background: var(--vs-rose); }
.vs-thanks__hero h2 { margin-top: 14px; font-size: 20px; font-weight: 800; }
.vs-thanks__hero p { margin-top: 4px; font-size: 13px; color: var(--vs-muted); }
.vs-thanks__amt { display: flex; align-items: baseline; justify-content: center; margin-top: 14px; }
.vs-thanks__amt b { font-size: 16px; font-weight: 700; }
.vs-thanks__amt strong { font-size: 36px; font-weight: 800; letter-spacing: -.02em; }
.vs-thanks__meta { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; display: block !important; }
.vs-thanks__meta li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--vs-line); border-radius: 0; font-size: 13px; background: transparent; border-left: 0; border-right: 0; border-top: 0; }
.vs-thanks__meta li:last-child { border-bottom: 0; }
.vs-thanks__meta li span { color: var(--vs-muted); }
.vs-thanks__meta li strong { font-size: 13px; color: var(--vs-ink); text-align: right; }
.vs-thanks__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.vs-thanks__actions .vs-btn { height: 48px; }
.woocommerce-order-details, .woocommerce-customer-details { background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; padding: 16px; }
.woocommerce-order-details h2, .woocommerce-customer-details h2, .woocommerce-column__title { font-size: 15px; font-weight: 800; margin: 0 0 10px; }
.woocommerce-customer-details address { font-style: normal; font-size: 13px; line-height: 1.8; color: var(--vs-ink-2); border: 0; padding: 0; }
.woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr; gap: 14px; }
.woocommerce-columns--addresses .col-1, .woocommerce-columns--addresses .col-2 { float: none; width: auto; max-width: none; }

/* 通用 Woo 页面（我的账户等） */
.vs-page { padding-block: 24px 40px; }
.vs-page > h1 { font-size: 22px; font-weight: 800; margin-bottom: 16px; }
.woocommerce-order-received .vs-page, .woocommerce-account .vs-page { max-width: 900px; }
.woocommerce-order-overview { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.woocommerce-order-overview li { padding: 10px 12px; background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 8px; font-size: 12px; color: var(--vs-muted); }
.woocommerce-order-overview strong { display: block; margin-top: 2px; font-size: 14px; color: var(--vs-ink); }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; border: 1px solid var(--vs-line); border-radius: 8px; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 10px 12px; border-bottom: 1px solid var(--vs-line); text-align: left; font-size: 13px; }
.woocommerce-MyAccount-navigation ul { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 16px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 8px 14px; border: 1px solid var(--vs-line); border-radius: 999px; font-weight: 600; white-space: nowrap; background: #fff; }
.woocommerce-MyAccount-navigation .is-active a { background: #000; color: #fff; border-color: #000; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select { height: 42px; border: 1px solid var(--vs-line); border-radius: 6px; padding: 0 12px; width: 100%; font: inherit; }
.woocommerce form .form-row { margin-bottom: 12px; }
.woocommerce .button, .woocommerce button.button { background: #000; color: #fff; border: 0; border-radius: 8px; padding: 10px 18px; font-weight: 600; }

/* ==========================================================================
   文章（Industrial）
   ========================================================================== */
.vs-appbar--article { border-bottom: 1px solid var(--vs-line); }
.vs-container--article { max-width: 896px; padding-top: 16px; padding-bottom: 120px; }
.vs-article { background: #fff; border: 1px solid var(--vs-line); border-radius: 8px; padding: 20px 16px 24px; }
.vs-article__tags { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.vs-tag { display: inline-block; background: #000; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; padding: 3px 8px; border-radius: 3px; }
.vs-tag--ghost { background: transparent; color: var(--vs-muted); border: 1px solid var(--vs-line); font-weight: 600; }
.vs-article__no { font-size: 11px; font-weight: 600; letter-spacing: .1em; color: var(--vs-soft); text-transform: uppercase; }
.vs-article__title { font-size: 26px; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.vs-article__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; margin-top: 16px; padding: 12px 0; border-block: 1px solid var(--vs-line); font-size: 12px; color: var(--vs-muted); }
.vs-article__meta-l, .vs-article__meta-r { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.vs-article__meta span { display: inline-flex; align-items: center; gap: 4px; }
.vs-article__author { color: var(--vs-ink); font-weight: 600; }
.vs-article__intro { margin-top: 20px; padding: 16px; background: var(--vs-surface); border-left: 3px solid #000; border-radius: 0 6px 6px 0; }
.vs-article__intro p { font-size: 15px; line-height: 1.8; color: var(--vs-ink-2); font-weight: 500; }
.vs-article__body { margin-top: 24px; font-size: 15px; line-height: 1.9; color: var(--vs-ink-2); }
.vs-article__body > * + * { margin-top: 16px; }
.vs-article__body h2 { position: relative; display: flex; align-items: center; gap: 10px; margin-top: 32px; font-size: 20px; font-weight: 800; color: #000; line-height: 1.35; }
.vs-article__body h2::before { content: ""; flex: none; width: 4px; height: 22px; background: #000; border-radius: 4px; }
.vs-article__body h3 { font-size: 17px; font-weight: 800; color: #000; margin-top: 24px; }
.vs-article__body figure { margin: 20px 0; }
.vs-article__body figure img { width: 100%; border-radius: 6px; border: 1px solid var(--vs-line); }
.vs-article__body figcaption { margin-top: 8px; font-size: 12px; color: var(--vs-soft); text-align: center; }
.vs-article__body a { color: #000; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.vs-article__body blockquote { margin-inline: 0; padding: 12px 16px; background: var(--vs-surface); border-left: 3px solid #000; border-radius: 0 6px 6px 0; }
.vs-article__body table { width: 100%; border-collapse: collapse; font-size: 13px; border: 1px solid var(--vs-line); }
.vs-article__body th { background: var(--vs-surface-2); font-weight: 700; text-align: left; }
.vs-article__body th, .vs-article__body td { padding: 10px 12px; border-bottom: 1px solid var(--vs-line); }
.vs-article__body .wp-block-table { overflow-x: auto; }
.vs-article__body ul, .vs-article__body ol { padding-left: 1.3em; }
.vs-article__body ul { list-style: disc; }
.vs-article__body .vs-bento { display: grid; grid-template-columns: 1fr; gap: 12px; }
.vs-article__body .vs-bento > * { padding: 16px; background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 8px; margin: 0; }
.vs-callout { display: flex; flex-direction: column; gap: 14px; margin-top: 32px; padding: 16px; background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 8px; }
.vs-callout__l { display: flex; gap: 12px; }
.vs-callout__img { flex: none; width: 80px; height: 80px; background: #fff; border: 1px solid var(--vs-line); border-radius: 4px; overflow: hidden; }
.vs-callout__img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; mix-blend-mode: multiply; }
.vs-callout h4 { font-size: 15px; font-weight: 800; margin-top: 2px; }
.vs-callout p { margin-top: 2px; font-size: 12px; color: var(--vs-muted); }
.vs-callout__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.vs-callout__price strong { font-size: 18px; font-weight: 800; }
.vs-callout__price del { font-size: 12px; color: var(--vs-soft); }
.vs-callout .vs-btn { width: 100%; }
.vs-legal { margin-top: 32px; }
.vs-legal__box { padding: 16px; background: var(--vs-surface); border: 1px solid var(--vs-line); border-radius: 6px; }
.vs-legal__head { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; }
.vs-legal p { margin-top: 6px; font-size: 11px; line-height: 1.7; color: var(--vs-muted); }
.vs-legal__copy { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--vs-line); font-size: 10px; letter-spacing: .06em; color: var(--vs-soft); }

.vs-actionbar { position: fixed; left: 0; right: 0; bottom: calc(var(--vs-tabbar-h) + var(--vs-safe-b)); z-index: 55; background: #fff; border-top: 1px solid var(--vs-line); }
.vs-actionbar__in { display: flex; align-items: center; gap: 12px; max-width: 896px; margin: 0 auto; padding: 10px var(--vs-gutter); }
.vs-actionbar__input { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; background: var(--vs-surface-2); border: 1px solid var(--vs-line); border-radius: 8px; color: var(--vs-soft); font-size: 13px; }
.vs-actionbar__tools { display: flex; align-items: center; gap: 10px; }
.vs-actbtn { display: inline-flex; align-items: center; gap: 4px; border: 0; background: transparent; padding: 4px; color: var(--vs-ink-2); }
.vs-actbtn em { font-style: normal; font-size: 12px; font-weight: 700; }
.vs-actbtn .vs-on { display: none; }
.vs-actbtn.is-on .vs-on { display: inline-block; }
.vs-actbtn.is-on .vs-off { display: none; }
.vs-iconbtn.is-on { color: #000; }

/* ==========================================================================
   桌面自适应（≥768px）
   ========================================================================== */
/* ==========================================================================
   网页端（≥768px）设计系统
   目标：像正经品牌官网一样有呼吸感、有主次层级——而不是手机版本简单拉宽。
   以下规则全部包在桌面专属的媒体查询里，不会影响手机端任何样式/截图表现。
   ========================================================================== */
@media (min-width: 768px) {
	:root { --vs-gutter: 32px; --vs-max: 1240px; }
	body.vs-app { padding-bottom: 0; font-size: 15px; }
	.vs-tabbar { display: none; }
	.vs-buybar, .vs-checkoutbar, .vs-actionbar { bottom: 0; }
	.vs-toast { bottom: 96px; }

	/* ---------- 顶部导航：更高、更舒展 ---------- */
	.vs-head { }
	.vs-head__in { height: 76px; }
	.vs-brand__name { font-size: 23px; }
	.vs-brand__dot { width: 9px; height: 9px; }
	.vs-head__nav { display: flex; gap: 32px; margin-left: 40px; flex: 1; }
	.vs-head__nav a { font-size: 15px; font-weight: 600; color: var(--vs-muted); padding: 8px 0; border-bottom: 2px solid transparent; letter-spacing: .01em; }
	.vs-head__nav a:hover, .vs-head__nav a.is-active { color: var(--vs-ink); border-color: var(--vs-ink); }
	.vs-head__cart { display: inline-flex; }
	.vs-iconbtn--round { width: 44px; height: 44px; }
	.vs-appbar__navrow { display: block; border-top: 1px solid var(--vs-line); }
	.vs-appbar__navrow-in { display: flex; gap: 32px; height: 48px; align-items: center; }
	.vs-appbar__navrow-in a { font-size: 15px; font-weight: 600; color: var(--vs-muted); }
	.vs-appbar__navrow-in a:hover, .vs-appbar__navrow-in a.is-active { color: var(--vs-ink); }
	.vs-appbar__in { height: 68px; }
	.vs-appbar__title { font-size: 17px; }
	.vs-appbar--cart .vs-appbar__title--left { font-size: 26px; font-weight: 800; }
	.vs-appbar--cart .vs-cart-title-count { font-size: 16px; }
	.vs-appbar--checkout .vs-appbar__title { font-size: 19px; }
	.vs-age__msg { font-size: 12px; }
	.vs-bar { position: relative; height: 68px; }
	.vs-brand--center { position: static; font-size: 19px; }
	.vs-bar .vs-head__nav { margin: 0; flex: none; }
	.vs-menu, [data-vs-menu] { display: none !important; }
	.vs-bar { justify-content: space-between; }
	.vs-searchrow { display: flex; align-items: center; gap: 20px; padding-block: 14px; }
	.vs-topbar--catalog .vs-searchrow { display: flex; }
	.vs-searchrow .vs-search { flex: 0 0 520px; height: 48px; }
	.vs-searchrow .vs-hot { margin-top: 0; }

	/* ---------- 首页：更大的留白与层级 ---------- */
	.vs-stack { padding-top: 40px; gap: 0; }
	.vs-stack > * + * { margin-top: 56px; }
	.vs-hero { border-radius: 20px; }
	.vs-slide { min-height: 440px; }
	.vs-slide__badge { font-size: 13px; padding: 5px 14px; }
	.vs-slide__title { font-size: 46px !important; line-height: 1.2 !important; }
	.vs-slide__eyebrow { font-size: 13px; }
	.vs-slide .vs-slide__badge { top: 28px; left: 48px; }
	.vs-slide__inner { padding: 48px 56px; max-width: 760px; gap: 14px; }
	.vs-slide__btns { margin-top: 14px; gap: 12px; }
	.vs-slide__btns .vs-btn { height: 46px; padding: 0 28px; font-size: 14px; }

	.vs-trust { grid-template-columns: repeat(4, 1fr); gap: 20px; }
	.vs-trust > div { flex-direction: row; justify-content: center; gap: 12px; padding: 20px; border-radius: 14px; }
	.vs-trust b { font-size: 14px; }
	.vs-trust span { font-size: 12px; }
	.vs-trust .vs-i { width: 24px; height: 24px; }

	.vs-panel { padding: 28px 32px; border-radius: 20px; }
	.vs-sec__title h2 { font-size: 26px; }
	.vs-sec__en { font-size: 12px; }
	.vs-sec__sub { font-size: 14px; margin-top: 4px; }
	.vs-chip { font-size: 11px; padding: 3px 10px; }
	.vs-more { font-size: 14px; font-weight: 700; }
	.vs-more .vs-i { width: 18px; height: 18px; }

	.vs-cats__grid { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 12px; }
	.vs-cat__ico { width: 76px; height: 76px; }
	.vs-cat__ico .vs-i { width: 28px; height: 28px; }
	.vs-cat__name { font-size: 13px; }
	.vs-cat:hover .vs-cat__ico { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15, 23, 42, .12); }

	.vs-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.vs-card--home { border-radius: 18px; transition: box-shadow .2s, transform .2s; }
	.vs-card--home:hover { box-shadow: 0 16px 32px rgba(15, 23, 42, .12); transform: translateY(-3px); }
	.vs-card--home .vs-card__body { padding: 18px; gap: 14px; }
	.vs-card--home .vs-card__title { font-size: 16px; -webkit-line-clamp: 2; }
	.vs-card--home .vs-card__tag { font-size: 12px; }
	.vs-price__num { font-size: 22px; }
	.vs-price__cur { font-size: 13px; }

	.vs-feature { padding: 28px; border-radius: 20px; gap: 28px; }
	.vs-feature__img { width: 220px; height: 220px; border-radius: 16px; }
	.vs-feature__title { font-size: 26px; }
	.vs-chips span { font-size: 12px; padding: 4px 10px; }
	.vs-price--lg .vs-price__num { font-size: 30px; }

	.vs-notice { padding: 28px 32px; border-radius: 20px; }
	.vs-notice__head h3 { font-size: 17px; }
	.vs-notice__list { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 40px; }
	.vs-notice__list h4 { font-size: 15px; }
	.vs-notice__list p { font-size: 13px; }

	.vs-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
	.vs-post { padding: 16px; border-radius: 18px; gap: 16px; }
	.vs-post__img { width: 160px; height: 120px; border-radius: 14px; }
	.vs-post__title { font-size: 16px; }

	.vs-footer { padding: 40px 0 48px; }
	.vs-footer__brand { font-size: 13px; }
	.vs-footer p { font-size: 12px; }

	/* ---------- 分类页 ---------- */
	.vs-catalog--split { height: calc(100dvh - var(--vs-header-h, 132px)); }
	.vs-catalog { grid-template-columns: 220px minmax(0, 1fr); border-inline: 1px solid var(--vs-line); border-radius: 0; }
	.vs-rail li a { flex-direction: row; align-items: center; gap: 12px; padding: 16px 20px; font-size: 15px; }
	.vs-rail__note { display: block; margin: 20px 16px; padding: 16px; }
	.vs-rail__note strong { font-size: 14px; }
	.vs-catalog__main { padding: 32px 40px 48px; }
	.vs-sec__head--line h3, .vs-sec__head--line h1 { font-size: 28px; }
	.vs-grid--catalog { grid-template-columns: repeat(2, 1fr); gap: 28px; }
	.vs-card--catalog { border-radius: 14px; transition: box-shadow .2s, transform .2s; }
	.vs-card--catalog:hover { box-shadow: 0 16px 32px rgba(15, 23, 42, .1); transform: translateY(-3px); }
	.vs-card--catalog .vs-card__title { font-size: 18px; }
	.vs-card--catalog .vs-price__num { font-size: 26px; }
	.vs-specs { padding: 24px 28px; }
	.vs-specs__grid { grid-template-columns: repeat(4, 1fr); gap: 20px; }

	/* ---------- 商品页：宽屏 3 列 ---------- */
	.vs-shopgrid { padding-top: 32px; padding-bottom: 48px; }
	.vs-grid--shop { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

	/* ---------- 商品详情：双栏，字号整体放大一档 ---------- */
	.vs-pdp { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; padding-block: 40px 56px; align-items: start; }
	.vs-gallery { margin-inline: 0; border: 1px solid var(--vs-line); border-radius: 20px; overflow: hidden; position: sticky; top: 100px; }
	.vs-gallery__slide { aspect-ratio: 1 / 1; padding: 64px 48px; }
	.vs-pdp .vs-pdp__info { padding-bottom: 0; }
	.vs-pdp__head { padding-top: 0; padding-bottom: 24px; }
	.vs-pdp__cur { font-size: 16px; }
	.vs-pdp__num { font-size: 48px; }
	.vs-pdp__old { font-size: 16px; }
	.vs-pdp__title { font-size: 28px; margin-top: 16px; }
	.vs-pdp__sub { font-size: 15px; }
	.vs-pdp__buy { padding-block: 24px; }
	.vs-pdp__label { font-size: 15px; }
	.vs-buybar { position: static; box-shadow: none; border: 0; background: transparent; margin-top: 16px; }
	.vs-buybar__in { padding: 0; }
	.vs-buybar__cta .vs-btn { height: 52px; font-size: 15px; }
	.vs-pdp__features h3, .vs-pdp__desc h3 { font-size: 17px; }
	.vs-feat { padding: 16px 18px; }
	.vs-feat h4 { font-size: 15px; }
	.vs-feat p { font-size: 13px; }
	.vs-prose { font-size: 15px; }
	.vs-pdp__notes { padding-top: 24px; }
	.vs-pdp > .woocommerce-notices-wrapper, .vs-pdp > .woocommerce-message { grid-column: 1 / -1; }
	.vs-drawer__list { grid-template-columns: repeat(3, 1fr); }

	/* ---------- 购物车：双栏，右侧订单摘要吸顶 ---------- */
	/* WooCommerce 针对"区块主题"会给 [woocommerce_cart]/[woocommerce_checkout] 输出自动包一层
	   .woocommerce，并在 woocommerce-blocktheme.css 里把它限宽 1000px——这与我们自己的版式冲突，
	   是购物车页"靠左、挤成一团"的真正原因，这里直接解除这个限制，把版式交还给我们自己的设计。 */
	.woocommerce-cart main.vs-main > .woocommerce,
	.woocommerce-checkout main.vs-main > .woocommerce,
	.woocommerce-account main.vs-main > .woocommerce { max-width: none !important; margin: 0 !important; }

	/* 整个购物车表单变成两栏网格：左边商品/加价购，右边订单摘要卡片全程吸顶可见。
	   .vs-checkoutbar 和 .vs-cartwrap 都是 <form class="vs-cart"> 的直接子元素，
	   所以两栏网格要架在 .vs-cart 这个 <form> 本身上，而不是 .vs-cartwrap 上。 */
	.vs-cart {
		padding-bottom: 72px;
		display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start;
		max-width: var(--vs-max); margin-inline: auto; padding-inline: var(--vs-gutter);
	}
	.vs-cart .vs-promo { grid-column: 1 / -1; margin-inline: calc(var(--vs-gutter) * -1); }
	.vs-promo__in { padding-block: 14px; }
	.vs-promo__msg p { font-size: 13px; }
	.vs-cartwrap { grid-column: 1; grid-row: 2; max-width: none; padding-inline: 0; margin-inline: 0; }
	.vs-store { border-radius: 16px; }
	.vs-store__head { padding: 16px 20px; }
	.vs-store__name { font-size: 14px; }
	.vs-store__ship { display: inline-flex; }
	.vs-citem { padding: 20px; }
	.vs-citem__img { width: 128px; height: 128px; border-radius: 10px; }
	.vs-citem__name { font-size: 15px; }
	.vs-citem__now strong { font-size: 20px; }
	.vs-coupon { border-radius: 12px; }
	.vs-addons__head h2 { font-size: 16px; }
	.vs-addons__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.vs-addon { border-radius: 12px; padding: 14px; gap: 14px; }
	.vs-addon__img { width: 80px; height: 80px; }
	.vs-assure { border-radius: 16px; padding: 24px 16px; }
	.vs-assure strong { font-size: 13px; }

	/* 右侧吸顶订单摘要卡片：由原来"吸底满宽条"变成"侧边吸顶卡片" */
	.vs-checkoutbar {
		grid-column: 2; grid-row: 2; align-self: start;
		position: sticky; top: 100px; bottom: auto; left: auto; right: auto;
		background: #fff; border: 1px solid var(--vs-line); border-radius: 16px;
		box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
	}
	.vs-checkoutbar__in { max-width: none; flex-direction: column; align-items: stretch; gap: 16px; height: auto; padding: 24px; }
	.vs-checkoutbar__all { order: 2; padding-top: 16px; border-top: 1px dashed var(--vs-line); }
	.vs-checkoutbar__right { flex-direction: column; align-items: stretch; gap: 16px; }
	.vs-checkoutbar__sum { text-align: left; }
	.vs-checkoutbar__sum > div:first-child { font-size: 14px; }
	.vs-checkoutbar__sum strong { font-size: 30px; }
	.vs-checkoutbar__sub { justify-content: flex-start; }
	.vs-checkoutbar .vs-btn { width: 100%; height: 52px; font-size: 16px; }
	.vs-checkoutbar .vs-btn em { font-size: 13px; }

	/* ---------- 结账：双栏，右侧订单信息+支付方式吸顶 ---------- */
	.vs-container--checkout { max-width: 1240px; padding-top: 24px; }
	/* .vs-checkout 这个 class 其实就打在 <form class="checkout woocommerce-checkout vs-checkout"> 本身，
	   不是外层容器，所以这里直接选 .vs-checkout，而不是 ".vs-checkout 的后代 form"。 */
	.vs-checkout { padding-bottom: 72px; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 28px; align-items: start; }
	.vs-checkout #customer_details { grid-column: 1; grid-row: 1; }
	.vs-checkout #order_review { grid-column: 2; grid-row: 1 / 3; position: sticky; top: 100px; }
	.vs-checkout .vs-legalnote { grid-column: 1; grid-row: 2; align-self: start; margin-top: 0; }
	.vs-address { padding: 28px 32px; border-radius: 16px; }
	.vs-address__head h2 { font-size: 19px; }
	.vs-address .woocommerce-billing-fields__field-wrapper, .vs-address .woocommerce-shipping-fields__field-wrapper { gap: 16px; }
	.vs-address input.input-text, .vs-address select, .vs-address textarea { height: 46px; }
	.vs-box { border-radius: 16px; }
	.vs-items__head { padding: 16px 20px; }
	.vs-item { padding: 18px 20px; }
	.vs-item__img { width: 88px; height: 88px; }
	.vs-item__row h3 { font-size: 15px; }
	.vs-service__row { padding: 16px 20px; }
	.vs-sum { padding: 20px 24px; }
	.vs-sum__total strong { font-size: 34px; }
	.woocommerce-checkout #payment { border-radius: 16px; }
	.woocommerce-checkout #payment div.form-row.place-order {
		position: static !important; grid-column: 2; margin-top: 16px; padding: 0 !important;
		background: transparent; border: 0; box-shadow: none; display: block;
	}
	.woocommerce-checkout #payment #place_order { width: 100%; height: 54px; font-size: 16px; }
	.vs-dock__total { margin-bottom: 14px; }
	.vs-dock__total div { justify-content: space-between; }
	.vs-modal { align-items: center; }
	.vs-sheet { border-radius: 20px; }

	/* 订单完成页也跟着双栏宽度放大一致 */
	.vs-thanks__hero { padding: 40px 32px; border-radius: 16px; }
	.vs-thanks__hero h2 { font-size: 26px; }
	.vs-thanks__amt strong { font-size: 44px; }

	/* ---------- 文章：更舒适的阅读排版 ---------- */
	.vs-container--article { max-width: 900px; padding-top: 24px; }
	.vs-article { padding: 48px 56px; border-radius: 16px; }
	.vs-article__title { font-size: 38px; }
	.vs-article__intro p { font-size: 17px; }
	.vs-article__body { font-size: 16px; line-height: 1.95; }
	.vs-article__body h2 { font-size: 24px; }
	.vs-article__body h3 { font-size: 19px; }
	.vs-article__body .vs-bento { grid-template-columns: 1fr 1fr; }
	.vs-callout { flex-direction: row; align-items: center; justify-content: space-between; padding: 20px 24px; }
	.vs-callout .vs-btn { width: auto; }
	.vs-callout h4 { font-size: 17px; }
}

@media (min-width: 1280px) {
	:root { --vs-max: 1320px; }
	.vs-grid--catalog { grid-template-columns: repeat(3, 1fr); }
	.vs-grid--shop { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.vs-grid--home { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.vs-slide { min-height: 480px; }
	.vs-slide__title { font-size: 52px !important; }
}

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

/* VapeStudio unified visual system: warm paper, graphite and restrained copper. */
:root {
	--vs-ink: #292724;
	--vs-ink-2: #4b4943;
	--vs-muted: #77766f;
	--vs-soft: #a29d94;
	--vs-line: #ded9d0;
	--vs-line-2: #eeeae4;
	--vs-surface: #f5f4ef;
	--vs-surface-2: #e9e4dc;
	--vs-white: #fffefa;
	--vs-rose: #a65345;
	--vs-green: #69765e;
	--vs-amber: #ad6d42;
	--vs-blue: #8a6554;
	--vs-r-card: 4px;
	--vs-r-box: 4px;
	--vs-r-btn: 2px;
	--vs-shadow: 0 1px 2px rgba(41, 39, 36, .05);
}
body.vs-app, body.vs-ind, body.vs-ind.vs-home, body.vs-app.single-product { background: var(--vs-surface); color: var(--vs-ink); }
.vs-container, .vs-stack { background: transparent; }
.vs-age { background: var(--vs-ink); border: 0; color: var(--vs-white); }
.vs-age__msg { color: #f2eee8; }
.vs-age__dot, .vs-age__btn { background: var(--vs-amber); color: #fff; }
.vs-age__btn:hover { background: #925b39; }
body.vs-ind .vs-btn:hover { background: #45403a; }
body.vs-ind .vs-cart-count { background: var(--vs-amber); }
body.vs-ind .vs-post { border-radius: 4px; }
.vs-topbar, .vs-topbar--catalog, .vs-appbar { background: rgba(255, 254, 250, .96); border-color: var(--vs-line); }
.vs-head, .vs-head__nav a:hover, .vs-head__nav a.is-active, .vs-appbar__navrow { border-color: var(--vs-line); }
.vs-brand__dot { background: var(--vs-amber); }
.vs-brand__name, .vs-brand--center { letter-spacing: -.045em; }
.vs-head__nav a:hover, .vs-head__nav a.is-active, .vs-appbar__navrow-in a:hover, .vs-appbar__navrow-in a.is-active { border-color: var(--vs-amber); }
.vs-search, .vs-homesearch, .vs-searchpop input { background: var(--vs-white); border-color: var(--vs-line); border-radius: 3px; }
.vs-search:focus-within, .vs-homesearch:focus-within { border-color: var(--vs-amber); box-shadow: 0 0 0 1px var(--vs-amber); }
.vs-hot a, .vs-menu a:hover, .vs-iconbtn:hover, .vs-pillbtn:hover { background: var(--vs-surface-2); }
.vs-menu, .vs-searchpop { background: var(--vs-white); border-color: var(--vs-line); }
.vs-btn, .vs-cartbtn, .vs-addon__btn, .vs-checkoutbar .vs-btn, .woocommerce-checkout #payment #place_order { background: var(--vs-ink); border-radius: 2px; }
.vs-btn:hover, .vs-cartbtn:hover, .vs-addon__btn:hover, .vs-checkoutbar .vs-btn:hover, .woocommerce-checkout #payment #place_order:hover { background: #45403a; }
.vs-btn--soft { background: var(--vs-surface-2); color: var(--vs-ink) !important; border-color: var(--vs-line); }
.vs-btn--soft:hover { background: #ded7cd; }
.vs-btn-light { background: var(--vs-amber); color: #fff !important; border: 0; }
.vs-btn-light:hover { background: #925b39; }
.vs-cart-count, .vs-cart-dot { background: var(--vs-amber); }
.vs-sec__title h2, .vs-sec__head--line h1, .vs-sec__head--line h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.035em; }
.vs-sec__title h2 { font-size: 24px; }
.vs-sec__en, .vs-eyebrow { letter-spacing: .16em; }
.vs-panel, .vs-notice, .vs-box, .vs-address, .vs-thanks__hero, .vs-thanks__meta, .woocommerce-order-details, .woocommerce-customer-details { background: var(--vs-white); border-color: var(--vs-line); border-radius: 4px; box-shadow: none; }
.vs-cats.vs-panel { padding: 0; background: transparent; border: 0; }
.vs-cats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.vs-cat { flex-direction: row; justify-content: space-between; min-height: 96px; padding: 14px 16px; background: var(--vs-surface-2); text-align: left; border: 1px solid transparent; border-radius: 3px; }
.vs-cat:nth-child(4n+2) { background: #eee8df; }
.vs-cat:nth-child(4n+3) { background: #e8e2d9; }
.vs-cat__name { order: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 17px; font-weight: 400; color: var(--vs-ink); }
.vs-cat__ico { order: 1; width: 48px; height: 48px; background: rgba(255,254,250,.48); border-color: rgba(41,39,36,.08); box-shadow: none; }
.vs-cat:hover { border-color: var(--vs-line); }
.vs-cat:hover .vs-cat__ico { background: var(--vs-white); color: var(--vs-ink); border-color: var(--vs-line); transform: none; }
.vs-card--home, .vs-card--catalog, .vs-feature, .vs-post, .vs-addon, .vs-store, .vs-coupon, .vs-assure { background: var(--vs-white); border-color: var(--vs-line); border-radius: 4px; box-shadow: none; }
.vs-card--home .vs-card__media, .vs-feature__img, .vs-post__img, .vs-addon__img, .vs-citem__img, .vs-item__img { background: #eee9e1; border-radius: 2px; }
.vs-card--home .vs-card__media { background: #e9e4dc; }
.vs-flavor, .vs-badge--line { background: rgba(255,254,250,.94); color: var(--vs-ink); }
.vs-badge { border-radius: 2px; background: var(--vs-ink); }
.vs-badge--red { background: #a65345; }
.vs-badge--blue { background: #8a6554; }
.vs-badge--amber { background: var(--vs-amber); }
.vs-badge--green { background: #69765e; }
.vs-badge--dark { background: var(--vs-ink); }
.vs-price__now { color: var(--vs-ink); }
.vs-cartbtn { border-radius: 2px; }
.vs-feature__img { width: 144px; height: 144px; }
.vs-notice { background: #eeeae4; }
.vs-post__title, .vs-feature__title, .vs-card__title { color: var(--vs-ink); }
.vs-footer { background: var(--vs-surface); border-color: var(--vs-line); }
.vs-tabbar, .vs-buybar, .vs-checkoutbar, .woocommerce-checkout #payment div.form-row.place-order { background: rgba(255,254,250,.97); border-color: var(--vs-line); box-shadow: 0 -3px 14px rgba(41,39,36,.05); }
.vs-tab.is-active, .vs-home .vs-tab.is-active::after { color: var(--vs-amber); background: var(--vs-amber); }
.vs-tab.is-active { background: transparent; }
.vs-home .vs-tab.is-active::after { background: var(--vs-amber); }
.vs-catalog { background: var(--vs-white); }
.vs-rail { background: #eeeae4; border-color: var(--vs-line); }
.vs-rail li a { color: var(--vs-muted); }
.vs-rail li.is-active a, .vs-rail li a:hover { color: var(--vs-ink); background: var(--vs-white); border-color: var(--vs-amber); }
.vs-catalog__main, .vs-shopgrid { background: var(--vs-surface); }
.vs-specs, .vs-specs__item { background: var(--vs-white); border-color: var(--vs-line); }
.vs-gallery { background: #eeeae4; border-color: var(--vs-line); border-radius: 4px; }
.vs-gallery__slide { background: #eeeae4; }
.vs-pdp__head, .vs-pdp__buy, .vs-pdp__features, .vs-pdp__desc { border-color: var(--vs-line); }
.vs-pdp__title { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.03em; }
.vs-pdp__num, .vs-pdp__cur { color: var(--vs-ink); }
.vs-opt__summary, .vs-opt__ico, .vs-pill, .vs-stepper, .vs-feat, .vs-drawer__item { background: var(--vs-white); border-color: var(--vs-line); border-radius: 3px; }
.vs-pill.is-on, .vs-drawer__item.is-on { background: var(--vs-ink); border-color: var(--vs-ink); color: #fff; }
.vs-pill.is-on::before { background: var(--vs-amber); }
.vs-buybar { border-color: var(--vs-line); }
.vs-vs-main, .vs-main { background: transparent; }
.vs-page, .vs-article { color: var(--vs-ink); }
.vs-article { background: var(--vs-white); border: 1px solid var(--vs-line); border-radius: 4px; }
.vs-article__title, .vs-article__body h2, .vs-article__body h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.025em; }
.vs-callout, .vs-bento, .vs-article__intro { background: #eeeae4; border-color: var(--vs-line); }
.vs-cart, .vs-checkout { color: var(--vs-ink); }
.vs-citem, .vs-item, .vs-service__row, .vs-sum__total, .vs-checkoutbar__all { border-color: var(--vs-line); }
.vs-citem__detail--warehouse { border-color: #e6c39f; background: #fbf2e8; }
.vs-store__head, .vs-items__head { background: #eeeae4; border-color: var(--vs-line); }
.vs-box, .vs-checkoutbar { box-shadow: none; }
.vs-coupon summary, .vs-items__toggle { color: var(--vs-ink-2); }
.vs-address input.input-text, .vs-address select, .vs-address textarea, .select2-container--default .select2-selection--single, .vs-note input, .vs-coupon__row input { border-color: var(--vs-line); border-radius: 3px; background: var(--vs-white); }
.vs-address input:focus, .vs-address select:focus, .vs-note input:focus { border-color: var(--vs-amber); box-shadow: 0 0 0 1px var(--vs-amber); }
.vs-address__badge { color: var(--vs-green); background: #f2f1eb; border-color: #ddd8cd; }
.vs-sum__total strong, .vs-dock__total strong, .vs-thanks__amt strong { color: var(--vs-ink); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 3px; }
.woocommerce-message { border-color: var(--vs-line); background: #f4f1eb; color: var(--vs-ink-2); }
.vs-pdp > .woocommerce-notices-wrapper { grid-column: 1 / -1; width: 100%; min-width: 0; }
.vs-pdp > .woocommerce-notices-wrapper > .woocommerce-message,
.vs-pdp > .woocommerce-notices-wrapper > .woocommerce-info,
.vs-pdp > .woocommerce-notices-wrapper > .woocommerce-error { width: 100%; min-width: 0; outline: 0; }
.vs-category-split-page .vs-catalog--split { overscroll-behavior: none; }
.vs-buybar__cta [data-vs-addcart].is-loading { opacity: .72; cursor: wait; }
.vs-toast .vs-i { color: var(--vs-amber); }
.woocommerce-error { border-color: #e8d2cd; background: #f8efec; color: #8f4439; }
.vs-modal__mask { background: rgba(41,39,36,.48); }
.vs-sheet, .vs-dialog { background: var(--vs-white); border-radius: 4px; }
.vs-sheet__x, .vs-chan button > span, .vs-sharecard, .vs-qrpanel, .vs-dialog__ico { border-radius: 3px; }
.vs-sharecard__tag, .vs-dialog__ico { background: var(--vs-amber); }
.vs-chan button:hover > span { background: var(--vs-ink); border-color: var(--vs-ink); }
.vs-toast { background: var(--vs-ink); border-radius: 3px; }

/* The home hero follows the approved wide banner composition on desktop and a shorter stack on phones. */
.vs-hero { border: 0; border-radius: 3px; box-shadow: none; }
.vs-slide { min-height: clamp(420px, 36vw, 480px); align-items: center; background-size: cover; }
.vs-slide::after { background: linear-gradient(90deg, rgba(35,33,30,.92) 0%, rgba(43,41,38,.76) 43%, rgba(43,41,38,.06) 100%); }
.vs-slide::before { content: ""; position: absolute; width: min(34vw, 430px); aspect-ratio: 1; right: 9%; top: 50%; transform: translateY(-50%); border: 1px solid rgba(231,216,199,.35); border-radius: 50%; box-shadow: 0 0 0 28px rgba(231,216,199,.05), 0 0 0 58px rgba(231,216,199,.035); }
.vs-slide__inner { width: 58%; padding: 52px clamp(24px, 5vw, 72px); gap: 12px; }
.vs-slide__badge { border-radius: 2px !important; }
.vs-slide__eyebrow { color: #d8a982; letter-spacing: .16em; }
.vs-slide__eyebrow em { color: rgba(255,254,250,.7); }
.vs-slide__title { max-width: 570px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(38px, 4vw, 56px) !important; font-weight: 400; line-height: 1.1 !important; letter-spacing: -.035em; }
.vs-slide__btns .vs-btn { border-radius: 2px; }
.vs-btn-ghost { background: transparent; }
.vs-dots--hero { bottom: 20px; right: 28px; }
.vs-dots .is-active { background: #d5a078; }
.vs-slide__visual { position: absolute; z-index: 2; right: 7%; bottom: 5%; width: min(39%, 460px); height: 84%; display: flex; align-items: end; justify-content: center; pointer-events: none; }
.vs-slide__visual svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 18px 18px rgba(15,13,11,.32)); }

@media (max-width: 767px) {
	:root { --vs-gutter: 14px; --vs-tabbar-h: 62px; }
	.vs-container { padding-inline: var(--vs-gutter); }
	.vs-catalog--split { width: calc(100% + var(--vs-gutter) * 2); max-width: none; margin-inline: calc(var(--vs-gutter) * -1); }
	.vs-topbar--catalog .vs-searchrow { display: block; }
	.vs-search__esc { display: none; }
	.vs-search input { padding-right: 12px; }
	/* Prevent iOS Safari from zooming the page when a search field receives focus. */
	.vs-search input,
	.vs-searchpop input,
	.vs-homesearch input { font-size: 16px; }
	.vs-addons__grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.vs-addon { align-items: center; min-height: 98px; padding: 10px; gap: 12px; border-color: var(--vs-line); border-radius: 4px; }
	.vs-addon__img { width: 76px; height: 76px; background: #eeeae4; border-radius: 3px; }
	.vs-addon__img img { mix-blend-mode: normal; padding: 5px; }
	.vs-addon__body { gap: 4px; }
	.vs-addon__cat { font-size: 9px; }
	.vs-addon h4 { font-size: 13px; }
	.vs-addon__foot { font-size: 13px; }
	.vs-addon__btn { font-size: 11px; padding: 5px 9px; }
	.vs-stack { padding-top: 10px; padding-bottom: 24px; }
	.vs-stack > * + * { margin-top: 30px; }
	.vs-age__in { height: 28px; }
	.vs-head__in { height: 54px; }
	.vs-brand__name { font-size: 19px; }
	.vs-hero { border-radius: 3px; }
	.vs-slide { min-height: 470px; align-items: flex-start; }
	.vs-slide::after { background: linear-gradient(180deg, rgba(43,41,38,.98) 0%, rgba(43,41,38,.88) 42%, rgba(43,41,38,.05) 100%); }
	.vs-slide::before { width: 220px; right: 50%; top: auto; bottom: 7%; transform: translateX(50%); box-shadow: 0 0 0 18px rgba(231,216,199,.05), 0 0 0 40px rgba(231,216,199,.035); }
	.vs-slide__badge { top: 16px !important; left: 18px !important; font-size: 9px !important; }
	.vs-slide__inner { width: 100%; padding: 54px 20px 0; gap: 8px; }
	.vs-slide__eyebrow { font-size: 9px; }
	.vs-slide__title { font-size: 31px !important; line-height: 1.16 !important; max-width: 330px; }
	.vs-slide__btns { margin-top: 5px; }
	.vs-slide__btns .vs-btn { height: 42px; padding-inline: 16px; font-size: 11px; }
	.vs-slide__visual { right: 8%; bottom: 3%; width: 84%; height: 43%; }
	.vs-dots--hero { right: 16px; bottom: 12px; }
	.vs-trust { gap: 6px; }
	.vs-trust > div { padding: 9px 3px; border-radius: 3px; }
	.vs-trust b { font-size: 10px; }
	.vs-trust span { font-size: 9px; }
	.vs-sec__title h2 { font-size: 22px; }
	.vs-cats__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow: visible; }
	.vs-cat { flex: none; min-height: 78px; padding: 10px; gap: 6px; }
	.vs-cat__name { font-size: 15px; }
	.vs-cat__ico { width: 40px; height: 40px; }
	.vs-grid--home { gap: 9px; }
	.vs-card--home { border-radius: 3px; }
	.vs-card--home .vs-card__body { padding: 9px; gap: 8px; }
	.vs-card--home .vs-card__title { font-size: 12px; }
	.vs-card--home .vs-card__tag { font-size: 10px; }
	.vs-price__num { font-size: 18px; }
	.vs-feature { gap: 10px; padding: 10px; }
	.vs-feature__img { width: 100px; height: 110px; }
	.vs-feature__title { font-size: 14px; }
	.vs-notice { padding: 14px; }
	.vs-list { gap: 8px; }
	.vs-post { padding: 9px; gap: 9px; }
	.vs-post__img { width: 84px; height: 74px; }
	.vs-post__title { font-size: 12px; }
	.vs-catalog__main, .vs-shopgrid { background: var(--vs-surface); }
	.vs-grid--catalog, .vs-grid--shop { gap: 9px; }
	.vs-card--catalog { border-radius: 3px; }
	.vs-card--catalog .vs-card__title { font-size: 12px; }
	.vs-pdp { padding-bottom: 20px; }
	.vs-gallery { border-radius: 3px; }
	.vs-pdp__title { font-size: 24px; }
	.vs-pdp__num { font-size: 34px; }
	.vs-pdp__features, .vs-pdp__desc { padding-block: 18px; }
	.vs-feat { padding: 11px 12px; }
	.vs-buybar__cta .vs-btn { height: 44px; }
	.vs-cart, .vs-checkout { background: transparent; }
	.vs-citem { align-items: flex-start; gap: 10px; padding: 14px 12px; }
	.vs-citem__body { justify-content: flex-start; gap: 10px; }
	.vs-citem__name { font-size: 14px; }
	.vs-citem__details { width: 100%; gap: 7px; }
	.vs-citem__detail { max-width: 100%; }
	.vs-citem__detail-label { font-size: 11px; }
	.vs-specpill { font-size: 12px; padding: 4px 7px; white-space: normal; }
	.vs-citem__detail--warehouse { min-height: 32px; padding: 5px 8px; }
	.vs-citem__detail--warehouse strong { font-size: 13px; }
	.vs-citem__bottom { margin-top: auto; padding-top: 2px; }
	.vs-checkoutbar, .vs-buybar { border-radius: 0; }
	.vs-address, .vs-box, .vs-thanks__hero, .vs-thanks__meta { border-radius: 3px; }
	.vs-article { padding: 22px 18px; border-radius: 3px; }
	.vs-article__title { font-size: 27px; }
}

@media (max-width: 767px) {
	.vs-homesearch { display: none; }
	.vs-homesearch.is-search-open { display: flex; }
}
