/* Layer 声明 — 用于 AI 聊天窗口按钮覆盖，@layer !important 优先级高于 unlayered !important */
@layer ai-chat-btn-reset;

/* Narrow the top navigation bar: reduce padding/height */
nav.navbar.fixed-top, .navbar.fixed-top {
	padding-top: 0.25rem !important;
	padding-bottom: 0.25rem !important;
	min-height: 44px !important;
}
.navbar .nav-link {
	padding-top: 0.25rem !important;
	padding-bottom: 0.25rem !important;
	line-height: 1.2 !important;
}
.navbar-toggler {
	padding: 0.25rem 0.5rem !important;
}
/* Limit logo height so header stays compact */
#logo img, #hdr-img img { max-height:40px; height:auto; }
#logoWrapper { padding-top:0.25rem; padding-bottom:0.5rem; }
.logo-link {
	display: inline-flex !important;
	align-items: center !important;
	line-height: 0 !important;
	min-height: 40px !important;
}
.logo-link .logo-light,
.logo-link .logo-dark {
	display: block;
	height: 40px;
	width: auto;
	max-width: 180px;
	max-height: 40px;
}
.footer-payment-wrap {
	display: inline-flex;
	align-items: center;
	min-height: 23px;
}
.footer-payment-image {
	display: block;
	width: 235px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 235 / 23;
}

/* ── Mobile Nav: theme-aware (all pages) ── */
@media (max-width: 1024px) {
	/* Light mode */
	.theme-light .nav-mobile-inner,
	html[data-theme="light"] .nav-mobile-inner {
		background-color: #f8f8f8 !important;
	}
	.theme-light .mobile-nav-link,
	html[data-theme="light"] .mobile-nav-link {
		color: #262626 !important;
	}
	.theme-light .mobile-nav-item,
	html[data-theme="light"] .mobile-nav-item {
		border-bottom-color: #e0e0e0 !important;
	}
	.theme-light .mobile-sub-menu,
	html[data-theme="light"] .mobile-sub-menu {
		background-color: #fafafa !important;
	}
	.theme-light .mobile-sub-link,
	.theme-light .mobile-sub-section-title,
	html[data-theme="light"] .mobile-sub-link,
	html[data-theme="light"] .mobile-sub-section-title {
		color: #333 !important;
	}
	/* Dark mode */
	.theme-dark .nav-mobile-inner,
	.theme-dark .nav-mobile-wrapper,
	html[data-theme="dark"] .nav-mobile-inner,
	html[data-theme="dark"] .nav-mobile-wrapper {
		background-color: #1a1a1a !important;
	}
	.theme-dark .mobile-nav-link,
	html[data-theme="dark"] .mobile-nav-link {
		color: #fff !important;
	}
	.theme-dark .mobile-nav-link:hover,
	html[data-theme="dark"] .mobile-nav-link:hover {
		color: #d4af37 !important;
	}
	.theme-dark .mobile-nav-item,
	html[data-theme="dark"] .mobile-nav-item {
		border-bottom-color: rgba(255,255,255,.08) !important;
	}
	.theme-dark .mobile-sub-menu,
	html[data-theme="dark"] .mobile-sub-menu {
		background-color: #222 !important;
	}
	.theme-dark .mobile-sub-link,
	.theme-dark .mobile-sub-menu a,
	html[data-theme="dark"] .mobile-sub-link,
	html[data-theme="dark"] .mobile-sub-menu a {
		color: #e0e0e0 !important;
	}
	.theme-dark .mobile-sub-section-title,
	html[data-theme="dark"] .mobile-sub-section-title {
		color: #999 !important;
	}
	.theme-dark .mobile-toggle-btn,
	html[data-theme="dark"] .mobile-toggle-btn {
		color: #fff !important;
		background-color: rgba(255,255,255,.08) !important;
	}
	.theme-dark .nav-mobile-close,
	html[data-theme="dark"] .nav-mobile-close {
		color: #fff !important;
	}
}

/* Logo swap for dark mode */
.logo-dark { display: none; }
html[data-theme="dark"] .logo-light,
.theme-dark .logo-light { display: none !important; }
html[data-theme="dark"] .logo-dark,
.theme-dark .logo-dark { display: inline-block !important; }

/* Reduce Font Awesome search icon size when fa-2x is used in the navbar */
nav .fa-search.fa-2x, .navbar .fa-search.fa-2x {
	font-size: 1rem !important; /* adjust this value smaller/larger as needed */
	line-height: 1 !important;
	vertical-align: middle !important;
}
@media (max-width: 576px) {
	nav .fa-search.fa-2x, .navbar .fa-search.fa-2x { font-size: 0.95rem !important; }
	.logo-link .logo-light,
	.logo-link .logo-dark {
		max-width: 150px;
	}
	.footer-payment-image {
		width: min(235px, 100%);
	}
}

/* 默认全站字体（恢复全局覆盖） */
body, button, input, select, textarea {
	font-family: "Montserrat", sans-serif !important;
	font-optical-sizing: auto;
	font-weight: 400;
}

/* ============================================================
   统一按钮设计系统 v2.1 — 2026-02-26
   浅色模式: 黑底白字 → 悬停金底黑字 (高级简约)
   深色模式: 黑底金字金边 → 悬停金底黑字 (黑金奢华)
   
   修复: v2.1 — 增加 .cssButton/span.button 覆盖，
         排除 #back-to-top，修正 --lux-gold 深色冲突
   ============================================================ */

/* --- 按钮 CSS 变量覆盖（最终权威） --- */
:root,
html[data-theme="light"],
.theme-light {
	--btn-uni-bg: #1a1a1a;
	--btn-uni-text: #FFFFFF;
	--btn-uni-border: #1a1a1a;
	--btn-uni-hover-bg: #D4AF37;
	--btn-uni-hover-text: #1a1a1a;
	--btn-uni-hover-border: #D4AF37;
	--btn-uni-active-bg: #B8960B;
	--btn-uni-active-text: #1a1a1a;
	--btn-uni-focus-ring: rgba(212, 175, 55, 0.35);
}

html[data-theme="dark"],
.theme-dark {
	--btn-uni-bg: #111111;
	--btn-uni-text: #D4AF37;
	--btn-uni-border: rgba(212, 175, 55, 0.45);
	--btn-uni-hover-bg: #D4AF37;
	--btn-uni-hover-text: #111111;
	--btn-uni-hover-border: #D4AF37;
	--btn-uni-active-bg: #B8960B;
	--btn-uni-active-text: #111111;
	--btn-uni-focus-ring: rgba(212, 175, 55, 0.45);
	/* 强制覆盖 lux-gold 为正金色，消除 #F4DF90 偏差 */
	--lux-gold: #D4AF37;
}

/* ============================================================
   全局：消除 luxury sideboxes 的 ::before 伪元素动画覆盖层
   以及重置过大的 padding / 字体 / letter-spacing
   ============================================================ */
html[data-theme="light"] button:not(#back-to-top)::before,
html[data-theme="light"] .btn:not(#back-to-top)::before,
html[data-theme="light"] input[type="button"]::before,
html[data-theme="light"] input[type="submit"]::before,
html[data-theme="light"] span.cssButton::before,
html[data-theme="dark"] button:not(#back-to-top)::before,
html[data-theme="dark"] .btn:not(#back-to-top)::before,
html[data-theme="dark"] input[type="button"]::before,
html[data-theme="dark"] input[type="submit"]::before,
html[data-theme="dark"] span.cssButton::before,
.theme-light button:not(#back-to-top)::before,
.theme-light .btn:not(#back-to-top)::before,
.theme-light input[type="button"]::before,
.theme-light input[type="submit"]::before,
.theme-light span.cssButton::before,
.theme-dark button:not(#back-to-top)::before,
.theme-dark .btn:not(#back-to-top)::before,
.theme-dark input[type="button"]::before,
.theme-dark input[type="submit"]::before,
.theme-dark span.cssButton::before {
	content: none !important;
	display: none !important;
}

/* ============================================================
   浅色模式 — 黑底白字统一按钮
   ============================================================ */
html[data-theme="light"] button:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not([aria-label="Close"]):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus),
html[data-theme="light"] input[type="button"],
html[data-theme="light"] input[type="submit"],
html[data-theme="light"] .btn:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus),
html[data-theme="light"] .btn-dark,
html[data-theme="light"] .btn-secondary,
html[data-theme="light"] .btn-light,
html[data-theme="light"] .btn-primary,
html[data-theme="light"] .btn-outline-dark,
html[data-theme="light"] .btn-outline-secondary:not(.btn-minus):not(.btn-plus),
html[data-theme="light"] .btn-outline-light,
html[data-theme="light"] .btn-cart,
html[data-theme="light"] .btn-add-to-cart,
html[data-theme="light"] .btn-checkout,
html[data-theme="light"] footer .newsletter .btn,
html[data-theme="light"] .wishlist-item .btn,
html[data-theme="light"] #payment-form button,
html[data-theme="light"] span.cssButton,
html[data-theme="light"] span.button,
html[data-theme="light"] input.cssButton,
.theme-light button:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not([aria-label="Close"]):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus),
.theme-light input[type="button"],
.theme-light input[type="submit"],
.theme-light .btn:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus),
.theme-light .btn-dark,
.theme-light .btn-secondary,
.theme-light .btn-light,
.theme-light .btn-primary,
.theme-light .btn-outline-dark,
.theme-light .btn-outline-secondary:not(.btn-minus):not(.btn-plus),
.theme-light .btn-outline-light,
.theme-light .btn-cart,
.theme-light .btn-add-to-cart,
.theme-light .btn-checkout,
.theme-light footer .newsletter .btn,
.theme-light .wishlist-item .btn,
.theme-light #payment-form button,
.theme-light span.cssButton,
.theme-light span.button,
.theme-light input.cssButton {
	background: var(--btn-uni-bg) !important;
	background-image: none !important;
	color: var(--btn-uni-text) !important;
	border: 1px solid var(--btn-uni-border) !important;
	font-family: var(--theme-font-primary, 'Montserrat', sans-serif) !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.08em !important;
	padding: 10px 24px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	z-index: auto !important;
	overflow: visible !important;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}

/* 浅色模式 — hover */
html[data-theme="light"] button:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not([aria-label="Close"]):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):hover,
html[data-theme="light"] .btn:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):hover,
html[data-theme="light"] input[type="button"]:hover,
html[data-theme="light"] input[type="submit"]:hover,
html[data-theme="light"] .btn-dark:hover,
html[data-theme="light"] .btn-secondary:hover,
html[data-theme="light"] .btn-light:hover,
html[data-theme="light"] .btn-primary:hover,
html[data-theme="light"] .btn-outline-dark:hover,
html[data-theme="light"] .btn-outline-secondary:not(.btn-minus):not(.btn-plus):hover,
html[data-theme="light"] .btn-outline-light:hover,
html[data-theme="light"] .btn-cart:hover,
html[data-theme="light"] .btn-add-to-cart:hover,
html[data-theme="light"] .btn-checkout:hover,
html[data-theme="light"] footer .newsletter .btn:hover,
html[data-theme="light"] .wishlist-item .btn:hover,
html[data-theme="light"] #payment-form button:hover,
html[data-theme="light"] span.cssButton:hover,
html[data-theme="light"] span.button:hover,
html[data-theme="light"] input.cssButton:hover,
.theme-light button:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not([aria-label="Close"]):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):hover,
.theme-light .btn:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):hover,
.theme-light input[type="button"]:hover,
.theme-light input[type="submit"]:hover,
.theme-light .btn-dark:hover,
.theme-light .btn-secondary:hover,
.theme-light .btn-light:hover,
.theme-light .btn-primary:hover,
.theme-light .btn-outline-dark:hover,
.theme-light .btn-outline-secondary:not(.btn-minus):not(.btn-plus):hover,
.theme-light .btn-outline-light:hover,
.theme-light .btn-cart:hover,
.theme-light .btn-add-to-cart:hover,
.theme-light .btn-checkout:hover,
.theme-light footer .newsletter .btn:hover,
.theme-light .wishlist-item .btn:hover,
.theme-light #payment-form button:hover,
.theme-light span.cssButton:hover,
.theme-light span.button:hover,
.theme-light input.cssButton:hover {
	background: var(--btn-uni-hover-bg) !important;
	background-image: none !important;
	color: var(--btn-uni-hover-text) !important;
	border-color: var(--btn-uni-hover-border) !important;
	box-shadow: none !important;
}

/* 浅色模式 — active/pressed */
html[data-theme="light"] button:not(.header-icon-link):not(#theme-toggle-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):active,
html[data-theme="light"] .btn:not(.header-icon-link):not(#theme-toggle-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):active,
html[data-theme="light"] input[type="button"]:active,
html[data-theme="light"] input[type="submit"]:active,
.theme-light button:not(.header-icon-link):not(#theme-toggle-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):active,
.theme-light .btn:not(.header-icon-link):not(#theme-toggle-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):active,
.theme-light input[type="button"]:active,
.theme-light input[type="submit"]:active {
	background: var(--btn-uni-active-bg) !important;
	background-image: none !important;
	color: var(--btn-uni-active-text) !important;
	transform: translateY(0) scale(0.98);
}

/* 浅色模式 — focus-visible 无障碍 */
html[data-theme="light"] button:not(#back-to-top):focus-visible,
html[data-theme="light"] .btn:not(#back-to-top):focus-visible,
html[data-theme="light"] input[type="button"]:focus-visible,
html[data-theme="light"] input[type="submit"]:focus-visible,
.theme-light button:not(#back-to-top):focus-visible,
.theme-light .btn:not(#back-to-top):focus-visible,
.theme-light input[type="button"]:focus-visible,
.theme-light input[type="submit"]:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px var(--btn-uni-focus-ring) !important;
}

/* ============================================================
   深色模式 — 黑金统一（Black & Gold Luxury）
   深色默认: 黑底 #111 + 金字 #D4AF37 + 金边
   深色悬停: 金底 #D4AF37 + 黑字 #111 
   ============================================================ */
html[data-theme="dark"] button:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not([aria-label="Close"]):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):not(.gallery-dot),
html[data-theme="dark"] input[type="button"],
html[data-theme="dark"] input[type="submit"],
html[data-theme="dark"] .btn:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus),
html[data-theme="dark"] .btn-dark,
html[data-theme="dark"] .btn-secondary,
html[data-theme="dark"] .btn-light,
html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .btn-outline-dark,
html[data-theme="dark"] .btn-outline-secondary:not(.btn-minus):not(.btn-plus),
html[data-theme="dark"] .btn-outline-light,
html[data-theme="dark"] .btn-cart,
html[data-theme="dark"] .btn-add-to-cart,
html[data-theme="dark"] .btn-checkout,
html[data-theme="dark"] footer .newsletter .btn,
html[data-theme="dark"] .wishlist-item .btn,
html[data-theme="dark"] #payment-form button,
html[data-theme="dark"] span.cssButton,
html[data-theme="dark"] span.button,
html[data-theme="dark"] input.cssButton,
.theme-dark button:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not([aria-label="Close"]):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):not(.gallery-dot),
.theme-dark input[type="button"],
.theme-dark input[type="submit"],
.theme-dark .btn:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus),
.theme-dark .btn-dark,
.theme-dark .btn-secondary,
.theme-dark .btn-light,
.theme-dark .btn-primary,
.theme-dark .btn-outline-dark,
.theme-dark .btn-outline-secondary:not(.btn-minus):not(.btn-plus),
.theme-dark .btn-outline-light,
.theme-dark .btn-cart,
.theme-dark .btn-add-to-cart,
.theme-dark .btn-checkout,
.theme-dark footer .newsletter .btn,
.theme-dark .wishlist-item .btn,
.theme-dark #payment-form button,
.theme-dark span.cssButton,
.theme-dark span.button,
.theme-dark input.cssButton {
	background: #111111 !important;
	background-image: none !important;
	color: #D4AF37 !important;
	border: 1px solid rgba(212, 175, 55, 0.45) !important;
	font-family: var(--theme-font-primary, 'Montserrat', sans-serif) !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.08em !important;
	padding: 10px 24px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	z-index: auto !important;
	overflow: visible !important;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}

/* 深色模式 — hover (金底黑字) */
html[data-theme="dark"] button:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not([aria-label="Close"]):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):not(.gallery-dot):hover,
html[data-theme="dark"] .btn:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):hover,
html[data-theme="dark"] input[type="button"]:hover,
html[data-theme="dark"] input[type="submit"]:hover,
html[data-theme="dark"] .btn-dark:hover,
html[data-theme="dark"] .btn-secondary:hover,
html[data-theme="dark"] .btn-light:hover,
html[data-theme="dark"] .btn-primary:hover,
html[data-theme="dark"] .btn-outline-dark:hover,
html[data-theme="dark"] .btn-outline-secondary:not(.btn-minus):not(.btn-plus):hover,
html[data-theme="dark"] .btn-outline-light:hover,
html[data-theme="dark"] .btn-cart:hover,
html[data-theme="dark"] .btn-add-to-cart:hover,
html[data-theme="dark"] .btn-checkout:hover,
html[data-theme="dark"] footer .newsletter .btn:hover,
html[data-theme="dark"] .wishlist-item .btn:hover,
html[data-theme="dark"] #payment-form button:hover,
html[data-theme="dark"] span.cssButton:hover,
html[data-theme="dark"] span.button:hover,
html[data-theme="dark"] input.cssButton:hover,
.theme-dark button:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not([aria-label="Close"]):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):not(.gallery-dot):hover,
.theme-dark .btn:not(.header-icon-link):not(#theme-toggle-btn):not(#thomassabo_menu_toggle):not(.mobile-toggle-btn):not(.ts-search-submit):not(.ts-search-close):not(#mobile-menu-close-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):hover,
.theme-dark input[type="button"]:hover,
.theme-dark input[type="submit"]:hover,
.theme-dark .btn-dark:hover,
.theme-dark .btn-secondary:hover,
.theme-dark .btn-light:hover,
.theme-dark .btn-primary:hover,
.theme-dark .btn-outline-dark:hover,
.theme-dark .btn-outline-secondary:not(.btn-minus):not(.btn-plus):hover,
.theme-dark .btn-outline-light:hover,
.theme-dark .btn-cart:hover,
.theme-dark .btn-add-to-cart:hover,
.theme-dark .btn-checkout:hover,
.theme-dark footer .newsletter .btn:hover,
.theme-dark .wishlist-item .btn:hover,
.theme-dark #payment-form button:hover,
.theme-dark span.cssButton:hover,
.theme-dark span.button:hover,
.theme-dark input.cssButton:hover {
	background: #D4AF37 !important;
	background-image: none !important;
	color: #111111 !important;
	border-color: #D4AF37 !important;
	box-shadow: none !important;
}

/* 深色模式 — active/pressed */
html[data-theme="dark"] button:not(.header-icon-link):not(#theme-toggle-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):not(.gallery-dot):active,
html[data-theme="dark"] .btn:not(.header-icon-link):not(#theme-toggle-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):active,
html[data-theme="dark"] input[type="button"]:active,
html[data-theme="dark"] input[type="submit"]:active,
html[data-theme="dark"] span.cssButton:active,
.theme-dark button:not(.header-icon-link):not(#theme-toggle-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):not(.gallery-dot):active,
.theme-dark .btn:not(.header-icon-link):not(#theme-toggle-btn):not(.qty-btn):not(.close):not(#back-to-top):not(.modern-filter-ai-btn):not(.btn-minus):not(.btn-plus):active,
.theme-dark input[type="button"]:active,
.theme-dark input[type="submit"]:active,
.theme-dark span.cssButton:active {
	background: #B8960B !important;
	background-image: none !important;
	color: #111111 !important;
	transform: translateY(0) scale(0.98);
}

/* 深色模式 — focus-visible 无障碍 */
html[data-theme="dark"] button:not(#back-to-top):not(.gallery-dot):focus-visible,
html[data-theme="dark"] .btn:not(#back-to-top):focus-visible,
html[data-theme="dark"] input[type="button"]:focus-visible,
html[data-theme="dark"] input[type="submit"]:focus-visible,
.theme-dark button:not(#back-to-top):not(.gallery-dot):focus-visible,
.theme-dark .btn:not(#back-to-top):focus-visible,
.theme-dark input[type="button"]:focus-visible,
.theme-dark input[type="submit"]:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.45) !important;
}

/* ============================================================
   Back-to-top 按钮 — 恢复原始样式，不受统一系统影响
   ============================================================ */
#back-to-top {
	min-width: auto !important;
	width: 50px !important;
	height: 50px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: rgba(0,0,0,0.6) !important;
	background-image: none !important;
	color: #fff !important;
	border: none !important;
	text-decoration: none !important;
	display: none;
	align-items: center;
	justify-content: center;
	line-height: normal;
	font-size: 1.2rem !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-weight: normal !important;
}
#back-to-top.show {
	display: inline-flex !important;
}
#back-to-top:hover {
	background: #000 !important;
	background-image: none !important;
	color: #D4AF37 !important;
	text-decoration: none !important;
}
/* 深色模式 back-to-top */
html[data-theme="dark"] #back-to-top,
.theme-dark #back-to-top {
	background: rgba(255,255,255,0.12) !important;
	background-image: none !important;
	color: #F8F9FA !important;
}
html[data-theme="dark"] #back-to-top:hover,
.theme-dark #back-to-top:hover {
	background: rgba(255,255,255,0.24) !important;
	background-image: none !important;
	color: #D4AF37 !important;
}
@media (max-width: 768px) {
	#back-to-top { width: 45px !important; height: 45px !important; font-size: 1rem !important; right: 1rem; bottom: 1rem; }
}

/* ============================================================
   辅助文本按钮（继续购物、更新等次要操作）
   ============================================================ */
/* 浅色模式文本按钮 */
html[data-theme="light"] .btn-continue,
html[data-theme="light"] .btn-update-simple,
.theme-light .btn-continue,
.theme-light .btn-update-simple {
	background: none !important;
	border: none !important;
	border-bottom: 1px solid #999 !important;
	color: #555 !important;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 1.5px;
	padding: 0 0 2px 0 !important;
}
html[data-theme="light"] .btn-continue:hover,
html[data-theme="light"] .btn-update-simple:hover,
.theme-light .btn-continue:hover,
.theme-light .btn-update-simple:hover {
	color: #1a1a1a !important;
	border-bottom-color: #1a1a1a !important;
	background: none !important;
}
/* 深色模式文本按钮 */
html[data-theme="dark"] .btn-continue,
html[data-theme="dark"] .btn-update-simple,
.theme-dark .btn-continue,
.theme-dark .btn-update-simple {
	background: none !important;
	border: none !important;
	border-bottom: 1px solid #666 !important;
	color: #aaa !important;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 1.5px;
	padding: 0 0 2px 0 !important;
}
html[data-theme="dark"] .btn-continue:hover,
html[data-theme="dark"] .btn-update-simple:hover,
.theme-dark .btn-continue:hover,
.theme-dark .btn-update-simple:hover {
	color: #D4AF37 !important;
	border-bottom-color: #D4AF37 !important;
	background: none !important;
}

/* ============================================================
   Small Edit 按钮 — 紧凑尺寸（checkout / account / 全站）
   生成元素: <a class="p-2 btn small_edit"> 由 zca_button_link()
   ============================================================ */
.small_edit,
a.small_edit,
button.small_edit,
.btn.small_edit {
	padding: 4px 12px !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.08em !important;
	line-height: 1.4 !important;
	min-width: auto !important;
}

/* ============================================================
   Checkout One — EDIT 按钮 (span.cssButton) 深色修复
   ============================================================ */
html[data-theme="dark"] #opc-bill-edit span,
html[data-theme="dark"] #opc-ship-edit span,
html[data-theme="dark"] #opc-bill-edit .cssButton,
html[data-theme="dark"] #opc-ship-edit .cssButton,
.theme-dark #opc-bill-edit span,
.theme-dark #opc-ship-edit span,
.theme-dark #opc-bill-edit .cssButton,
.theme-dark #opc-ship-edit .cssButton {
	background: #111111 !important;
	background-image: none !important;
	color: #D4AF37 !important;
	border: 1px solid rgba(212, 175, 55, 0.45) !important;
	border-radius: 0 !important;
	cursor: pointer;
}
html[data-theme="dark"] #opc-bill-edit span:hover,
html[data-theme="dark"] #opc-ship-edit span:hover,
html[data-theme="dark"] #opc-bill-edit .cssButton:hover,
html[data-theme="dark"] #opc-ship-edit .cssButton:hover,
.theme-dark #opc-bill-edit span:hover,
.theme-dark #opc-ship-edit span:hover,
.theme-dark #opc-bill-edit .cssButton:hover,
.theme-dark #opc-ship-edit .cssButton:hover {
	background: #D4AF37 !important;
	background-image: none !important;
	color: #111111 !important;
	border-color: #D4AF37 !important;
}

/* 深色模式：Site Map 页面改为深色样式 */
html[data-theme="dark"] #siteMapDefault,
.theme-dark #siteMapDefault {
	background-color: var(--theme-bg-primary) !important;
	color: var(--theme-text-primary) !important;
}

html[data-theme="dark"] #siteMapDefault .list-group-item,
.theme-dark #siteMapDefault .list-group-item {
	background-color: transparent !important;
	border-color: var(--theme-border-light) !important;
	color: var(--theme-text-primary) !important;
}

html[data-theme="dark"] #siteMapDefault a,
.theme-dark #siteMapDefault a {
	color: var(--theme-text-primary) !important;
}

html[data-theme="dark"] #siteMapDefault a:hover,
.theme-dark #siteMapDefault a:hover {
	color: var(--theme-accent-gold) !important;
}

/* 深色模式：底部版权文字确保可见 */
html[data-theme="dark"] footer .container.border-top,
.theme-dark footer .container.border-top {
	color: #111 !important;
}

html[data-theme="dark"] footer .container.border-top .text-secondary,
.theme-dark footer .container.border-top .text-secondary,
html[data-theme="dark"] footer .container.border-top a,
.theme-dark footer .container.border-top a {
	color: #111 !important;
}

html[data-theme="dark"] footer .container.border-top .row,
.theme-dark footer .container.border-top .row,
html[data-theme="dark"] footer .container.border-top *,
.theme-dark footer .container.border-top * {
	color: #111 !important;
}

/* Footer newsletter input length & height alignment */
footer .container.mb-5 form.d-flex {
	max-width: 100%;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

footer .container.mb-5 form.d-flex .form-control {
	flex: 1 1 auto;
	min-width: 320px;
	height: 48px;
	padding-top: 0;
	padding-bottom: 0;
	display: flex;
	align-items: center;
}

footer .container.mb-5 form.d-flex .btn {
	height: 48px;
	padding-top: 0;
	padding-bottom: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 576px) {
	footer .container.mb-5 form.d-flex {
		flex-direction: column;
	}

	footer .container.mb-5 form.d-flex .form-control,
	footer .container.mb-5 form.d-flex .btn {
		width: 100%;
		min-width: 0;
	}
}

/* /news search button height alignment */
#all-articles-search .form-inline {
	align-items: stretch;
}

#all-articles-search #nb-keyword {
	height: 40px;
	line-height: 40px;
}

#all-articles-search input[type="submit"],
#all-articles-search button,
#all-articles-search input[type="image"] {
	height: 40px;
	line-height: 38px;
}

/* 辅助类：权重 100 到 900（常规）*/
.montserrat-100{font-family:"Montserrat",sans-serif; font-weight:100; font-style:normal}
.montserrat-200{font-family:"Montserrat",sans-serif; font-weight:200; font-style:normal}
.montserrat-300{font-family:"Montserrat",sans-serif; font-weight:300; font-style:normal}
.montserrat-400{font-family:"Montserrat",sans-serif; font-weight:400; font-style:normal}
.montserrat-500{font-family:"Montserrat",sans-serif; font-weight:500; font-style:normal}
.montserrat-600{font-family:"Montserrat",sans-serif; font-weight:600; font-style:normal}
.montserrat-700{font-family:"Montserrat",sans-serif; font-weight:700; font-style:normal}
.montserrat-800{font-family:"Montserrat",sans-serif; font-weight:800; font-style:normal}
.montserrat-900{font-family:"Montserrat",sans-serif; font-weight:900; font-style:normal}

/* 斜体辅助类 */
.montserrat-italic-100{font-family:"Montserrat",sans-serif; font-weight:100; font-style:italic}
.montserrat-italic-200{font-family:"Montserrat",sans-serif; font-weight:200; font-style:italic}
.montserrat-italic-300{font-family:"Montserrat",sans-serif; font-weight:300; font-style:italic}
.montserrat-italic-400{font-family:"Montserrat",sans-serif; font-weight:400; font-style:italic}
.montserrat-italic-500{font-family:"Montserrat",sans-serif; font-weight:500; font-style:italic}
.montserrat-italic-600{font-family:"Montserrat",sans-serif; font-weight:600; font-style:italic}
.montserrat-italic-700{font-family:"Montserrat",sans-serif; font-weight:700; font-style:italic}
.montserrat-italic-800{font-family:"Montserrat",sans-serif; font-weight:800; font-style:italic}
.montserrat-italic-900{font-family:"Montserrat",sans-serif; font-weight:900; font-style:italic}

/* 说明：使用类如 <p class="montserrat-700">，默认 body 字体不被覆盖 */ 

/* ============================================================
   #1 产品页数量选择器 — 加减号同行 + 紧凑尺寸
   ============================================================ */
.qty-selector .input-group {
	flex-wrap: nowrap !important;
	width: 130px !important;
}
.qty-selector .btn-minus,
.qty-selector .btn-plus {
	padding: 6px 14px !important;
	font-size: 1rem !important;
	line-height: 1 !important;
	min-width: 38px !important;
	max-width: 38px !important;
	letter-spacing: normal !important;
	font-family: var(--theme-font-primary, 'Montserrat', sans-serif) !important;
	background: var(--btn-uni-bg, #1a1a1a) !important;
	background-image: none !important;
	color: var(--btn-uni-text, #fff) !important;
	border: 1px solid var(--btn-uni-border, #1a1a1a) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
	z-index: auto !important;
	overflow: visible !important;
}
.qty-selector .btn-minus:hover,
.qty-selector .btn-plus:hover {
	background: var(--btn-uni-hover-bg, #D4AF37) !important;
	background-image: none !important;
	color: var(--btn-uni-hover-text, #1a1a1a) !important;
	border-color: var(--btn-uni-hover-border, #D4AF37) !important;
}
.qty-selector .btn-minus::before,
.qty-selector .btn-plus::before {
	content: none !important;
	display: none !important;
}
/* 深色数量按钮 */
html[data-theme="dark"] .qty-selector .btn-minus,
html[data-theme="dark"] .qty-selector .btn-plus,
.theme-dark .qty-selector .btn-minus,
.theme-dark .qty-selector .btn-plus {
	background: #111111 !important;
	background-image: none !important;
	color: #D4AF37 !important;
	border-color: rgba(212, 175, 55, 0.45) !important;
}
html[data-theme="dark"] .qty-selector .btn-minus:hover,
html[data-theme="dark"] .qty-selector .btn-plus:hover,
.theme-dark .qty-selector .btn-minus:hover,
.theme-dark .qty-selector .btn-plus:hover {
	background: #D4AF37 !important;
	background-image: none !important;
	color: #111111 !important;
	border-color: #D4AF37 !important;
}

/* ============================================================
   #2 满减提示金额 — 红色突出（保留其余原始颜色）
   仅覆盖 strong 标签（包含金额数字），不改动容器文字色
   ============================================================ */
.spend-discount-info strong,
.spend-discount-gift-info strong {
	color: #E8192C !important;
}
html[data-theme="dark"] .spend-discount-info strong,
html[data-theme="dark"] .spend-discount-gift-info strong,
.theme-dark .spend-discount-info strong,
.theme-dark .spend-discount-gift-info strong {
	color: #FF2D2D !important;
}

/* ============================================================
   #3 AI Assistant 按钮 — 独立样式，不跟随统一按钮系统
   ============================================================ */
.modern-filter-ai-btn,
button.modern-filter-ai-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 4px !important;
	padding: 10px 14px !important;
	background: linear-gradient(135deg, #fff5f7, #f9e4e8) !important;
	background-image: linear-gradient(135deg, #fff5f7, #f9e4e8) !important;
	border: 1px solid #f0c4c9 !important;
	border-radius: 8px !important;
	color: #5a3e3e !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-family: var(--theme-font-primary, 'Montserrat', sans-serif) !important;
	cursor: pointer !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	box-shadow: none !important;
	z-index: auto !important;
	overflow: visible !important;
	transition: all 0.3s ease !important;
}
.modern-filter-ai-btn:hover,
button.modern-filter-ai-btn:hover {
	background: linear-gradient(135deg, #f9e4e8, #f0c4c9) !important;
	background-image: linear-gradient(135deg, #f9e4e8, #f0c4c9) !important;
	border-color: #d4a5a5 !important;
	color: #5a3e3e !important;
	box-shadow: 0 2px 6px rgba(212, 165, 165, 0.3) !important;
}
.modern-filter-ai-btn::before,
button.modern-filter-ai-btn::before {
	content: none !important;
	display: none !important;
}
/* 深色模式 AI 按钮 — 保持粉色风格 */
html[data-theme="dark"] .modern-filter-ai-btn,
html[data-theme="dark"] button.modern-filter-ai-btn,
.theme-dark .modern-filter-ai-btn,
.theme-dark button.modern-filter-ai-btn {
	background: linear-gradient(135deg, #3d2a2e, #4a2f34) !important;
	background-image: linear-gradient(135deg, #3d2a2e, #4a2f34) !important;
	border-color: #6b4a4f !important;
	color: #f0c4c9 !important;
}
html[data-theme="dark"] .modern-filter-ai-btn:hover,
html[data-theme="dark"] button.modern-filter-ai-btn:hover,
.theme-dark .modern-filter-ai-btn:hover,
.theme-dark button.modern-filter-ai-btn:hover {
	background: linear-gradient(135deg, #4a2f34, #5a3840) !important;
	background-image: linear-gradient(135deg, #4a2f34, #5a3840) !important;
	border-color: #8a5a60 !important;
	color: #fff5f7 !important;
	box-shadow: 0 2px 6px rgba(212, 165, 165, 0.2) !important;
}

/* ============================================================
   AI 聊天窗口内部按钮 — @layer 覆盖统一按钮系统
   Cascade Level 5: layered !important > unlayered !important
   统一系统的 specificity (4,11,2) 在此无效，因为 @layer 优先级更高
   支持: Chrome 99+, Firefox 97+, Safari 15.4+, Edge 99+ (2022+)
   ============================================================ */
@layer ai-chat-btn-reset {
	/* ---- 关闭按钮 × ---- */
	#ai-live-chat-window .ai-close-chat,
	#ai-live-chat-window .ai-close-chat:hover,
	#ai-live-chat-window .ai-close-chat:active,
	#ai-live-chat-window .ai-close-chat:focus {
		background: transparent !important;
		background-image: none !important;
		border: none !important;
		font-size: 24px !important;
		color: #000 !important;
		padding: 0 !important;
		line-height: 1 !important;
		width: auto !important;
		height: auto !important;
		min-width: auto !important;
		box-shadow: none !important;
		letter-spacing: normal !important;
		text-transform: none !important;
		font-family: inherit !important;
		z-index: auto !important;
		overflow: visible !important;
	}
	#ai-live-chat-window .ai-close-chat:hover {
		color: #666 !important;
	}
	#ai-live-chat-window .ai-close-chat::before {
		content: none !important;
		display: none !important;
	}

	/* ---- Send 发送按钮 ---- */
	#ai-live-chat-window .ai-chat-submit {
		padding: 0 20px !important;
		background: #d4a5a5 !important;
		background-image: none !important;
		color: #fff !important;
		border: none !important;
		border-radius: 25px !important;
		font-family: 'Playfair Display', serif !important;
		font-size: 13px !important;
		min-width: 80px !important;
		white-space: nowrap !important;
		height: 42px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-shadow: none !important;
		letter-spacing: normal !important;
		text-transform: none !important;
		z-index: auto !important;
		overflow: visible !important;
		cursor: pointer !important;
		transition: background-color 0.3s !important;
	}
	#ai-live-chat-window .ai-chat-submit:hover {
		background: #c68b8b !important;
		background-image: none !important;
		color: #fff !important;
		box-shadow: none !important;
	}
	#ai-live-chat-window .ai-chat-submit::before {
		content: none !important;
		display: none !important;
	}

	/* ---- Back to FAQ 按钮 ---- */
	#ai-live-chat-window .ai-back-to-faq {
		display: block !important;
		margin: 0 auto 10px !important;
		padding: 8px 15px !important;
		background: #d4a5a5 !important;
		background-image: none !important;
		color: #fff !important;
		border: none !important;
		border-radius: 20px !important;
		font-family: 'Playfair Display', serif !important;
		font-size: 14px !important;
		text-align: center !important;
		box-shadow: none !important;
		letter-spacing: normal !important;
		text-transform: none !important;
		z-index: auto !important;
		overflow: visible !important;
		cursor: pointer !important;
		transition: background-color 0.3s !important;
	}
	#ai-live-chat-window .ai-back-to-faq:hover {
		background: #c68b8b !important;
		background-image: none !important;
		box-shadow: none !important;
	}
	#ai-live-chat-window .ai-back-to-faq::before {
		content: none !important;
		display: none !important;
	}

	/* ---- 反馈按钮 👍👎 ---- */
	#ai-live-chat-window .ai-fb-btn {
		background: transparent !important;
		background-image: none !important;
		border: 1px solid #e0e0e0 !important;
		border-radius: 14px !important;
		padding: 2px 8px !important;
		font-size: 14px !important;
		box-shadow: none !important;
		letter-spacing: normal !important;
		text-transform: none !important;
		font-family: inherit !important;
		z-index: auto !important;
		overflow: visible !important;
		cursor: pointer !important;
		transition: all 0.2s ease !important;
		line-height: 1.4 !important;
		color: inherit !important;
	}
	#ai-live-chat-window .ai-fb-btn:hover {
		background: #f7d7da !important;
		background-image: none !important;
		border-color: #d4a5a5 !important;
		box-shadow: none !important;
	}
	#ai-live-chat-window .ai-fb-btn.ai-fb-active {
		background: #d4a5a5 !important;
		background-image: none !important;
		border-color: #c68b8b !important;
		transform: scale(1.15) !important;
	}
	#ai-live-chat-window .ai-fb-btn::before,
	#ai-live-chat-window .ai-close-chat::before,
	#ai-live-chat-window .ai-chat-submit::before,
	#ai-live-chat-window .ai-back-to-faq::before {
		content: none !important;
		display: none !important;
	}
}

/* ============================================================
   #4 Stripe 支付处理遮罩 + 旋转等待提示
   ============================================================ */
#stripe-payment-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.65);
	z-index: 99999;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 24px;
}
#stripe-payment-overlay.active {
	display: flex;
}
#stripe-payment-overlay .stripe-spinner {
	width: 48px;
	height: 48px;
	border: 4px solid rgba(212, 175, 55, 0.25);
	border-top-color: #D4AF37;
	border-radius: 50%;
	animation: stripe-spin 0.8s linear infinite;
}
#stripe-payment-overlay .stripe-overlay-text {
	color: #FFFFFF;
	font-family: var(--theme-font-primary, 'Montserrat', sans-serif);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: center;
	line-height: 1.5;
}
#stripe-payment-overlay .stripe-overlay-text small {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
	font-weight: 400;
}
@keyframes stripe-spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}