/*
Theme Name: A Vape (nova-avape)
Theme URI: https://a-vape.com/
Author: WorkBuddy
Description: A-VAPE 电商主题 — 复刻 a-vape.com（Shopify）的页面结构与样式，兼容 WooCommerce。原站 CSS/JS/图标字体已本地化，保证离线可用与像素级一致。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nova-avape
Tags: e-commerce, woocommerce, responsive, a-vape
*/

/* ═══════════════════════════════════════════════════
   本文件只放「与原站不同的必要修正」，主体样式来自
   assets/css/novstyle.css + bootstrap.min.css（源站原样）。
   ═══════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════
   首页各 section 的内联样式（对齐 a-vape.com 区块配置）
   ═══════════════════════════════════════════════════ */

/* ── 1. Slideshow ── */
.section-slideshow .distance { padding-top: 0; padding-bottom: 0; }
.section-slideshow .content-1 { left: 0%; width: 100%; overflow: visible; }
.section-slideshow .content-1 .caption-1 { font-size: 4.4rem; line-height: 5.2rem; color: #ffffff; font-weight: 800; letter-spacing: .1em; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.section-slideshow .content-1 .caption-1::after { content: ""; display: block; width: 48px; height: 2px; margin: 10px 0 8px; background: linear-gradient(90deg,#ffffff 0%,#00cfee 100%); border-radius: 1px; }
.section-slideshow .content-1 .caption-2 { font-size: 2.4rem; line-height: 3.2rem; color: #ffffff; font-weight: 600; letter-spacing: .22em; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.section-slideshow .content-captiont-1 { top: 44%; }
.section-slideshow .content-2 { left: 0%; width: 100%; }
.section-slideshow .content-2 .caption-1 { font-size: 4.4rem; line-height: 5.2rem; color: #fff; font-weight: 800; letter-spacing: .1em; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.section-slideshow .content-2 .caption-1::after { content: ""; display: block; width: 48px; height: 2px; margin: 10px 0 8px; background: linear-gradient(90deg,#ffffff 0%,#00cfee 100%); border-radius: 1px; }
.section-slideshow .content-2 .caption-2 { font-size: 2.4rem; line-height: 3.2rem; color: #fff; font-weight: 600; letter-spacing: .22em; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.section-slideshow .content-captiont-2 { top: 44%; }

@media (min-width: 1200px) {
	.section-slideshow .slideshow .main-slider,
	.section-slideshow .slideshow .slick-slide { height: 650px; }
	.section-slideshow .slideshow video { min-height: 650px; object-fit: cover; }
}
@media (min-width: 1441px) {
	.section-slideshow .slideshow .main-slider,
	.section-slideshow .slideshow .slick-slide { height: 720px; }
	.section-slideshow .slideshow video { min-height: 720px; object-fit: initial; }
}
@media (max-width: 1199px) {
	.section-slideshow .slideshow .main-slider,
	.section-slideshow .slideshow .slick-slide { height: 400px; }
	.section-slideshow .slideshow video { min-height: 400px; object-fit: cover; }
	.section-slideshow .content-captiont-1,
	.section-slideshow .content-captiont-2 { top: 35%; }
	.section-slideshow .content-1 .caption-1, .section-slideshow .content-2 .caption-1 { font-size: 3.6rem; line-height: 4.3rem; }
	.section-slideshow .content-1 .caption-2, .section-slideshow .content-2 .caption-2 { font-size: 2.1rem; line-height: 2.8rem; }
}
@media (max-width: 991px) {
	.section-slideshow .slideshow .main-slider,
	.section-slideshow .slideshow .slick-slide { height: 300px; }
	.section-slideshow .slideshow video { min-height: 300px; object-fit: cover; }
}
/* ≤767px：源站 section 设置的第三档字号（3.2/1.8rem，top 30%） */
@media (max-width: 767px) {
	.section-slideshow .content-captiont-1,
	.section-slideshow .content-captiont-2 { top: 30%; }
	.section-slideshow .content-1 .caption-1, .section-slideshow .content-2 .caption-1 { font-size: 2.2rem; line-height: 3.8rem; }
	.section-slideshow .content-1 .caption-2, .section-slideshow .content-2 .caption-2 { font-size: 1.3rem; line-height: 2.4rem; }
	.section-slideshow .content-caption.content-captiont-2 .caption-1 { margin-bottom: 12px;}
}
@media (max-width: 767px) {
	.section-slideshow .slideshow .main-slider,
	.section-slideshow .slideshow .slick-slide { height: 290px; }
	.section-slideshow .slideshow video { min-height: 290px; object-fit: cover; }
}
@media (max-width: 575px) {
	.section-slideshow .slideshow .main-slider,
	.section-slideshow .slideshow .slick-slide { height: 200px; }
	.section-slideshow .slideshow video { min-height: 200px; object-fit: cover; }
}

/* ── 2/5. Gallery 图片入口 ── */
.section-gallery-image .distance { padding: 0 10px; padding-top: 10px; padding-bottom: 30px; }
/* 5. OXBAR 段 = 源站第 5 段：container + block_title + spacing-30，四周 30px */
.section-gallery-image-2 .distance { padding: 0 30px; padding-top: 30px; padding-bottom: 30px; }
/* 2 图入口（OXBAR）：锁定 16:9 框，图 cover，标题随排版下移 */
.section-gallery-image-2 .row.spacing-30 { display: flex; flex-wrap: wrap; align-items: stretch; }
.section-gallery-image-2 .gallery-image_column { display: flex; }
.section-gallery-image-2 .gallery-image__item { display: flex; flex-direction: column; width: 100%; overflow: hidden; }
.section-gallery-image-2 .respone_image { position: relative; height: 0; padding-top: 56% !important; overflow: hidden; }
.section-gallery-image-2 .respone_image img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; object-position: center !important; }
.section-gallery-image-2 .gallery-image__item .gallery-image__caption { position: static !important; transform: none !important; inset: auto !important; width: 100%; margin-top: 12px; margin-bottom: 0; }

/* ── 3/4/6/7. 商品滑块：左侧分类导航深色卡 ── */
.section-product-slider .distance { padding-top: 30px; padding-bottom: 0; }
.section-product-slider .block-list-collection {
	background-color: #0b0b0b; background-image: none;
	position: relative; min-height: 280px; padding: 28px 16px;
}
.section-product-slider .block-list-collection::before {
	content: ""; position: absolute; inset: 0;
	background: rgba(11,11,11,.88); pointer-events: none; z-index: 0;
}
.section-product-slider .block-list-collection > * { position: relative; z-index: 1; }
.section-product-slider .block-list-collection a,
.section-product-slider .block-list-collection .title { color: #ffffff; }
.section-product-slider .block-list-collection a:hover { color: #00deff; }
@media (max-width: 767px) {
	.section-product-slider .block-list-collection { min-height: 0; }
}

/* ── 8. Manufacture ── */
.section-manufacture .distance { padding-top: 30px; padding-bottom: 60px; }

/* ── 9. Policy ── */
.section-policy { background-color: #f0f0f0; }
.section-policy .distance { padding-top: 35px; padding-bottom: 35px; }

/* ── 吸附头部（源站 header-sticky：下滑后带 Logo 的深蓝条浮出） ──
   源站 1920 实测：条高 54px、底色 #001336、Logo 在容器左侧（高 ~46px） */
#header-sticky {
	position: fixed; top: 0; left: 0; right: 0; z-index: 999;
	height: 54px; padding: 4px 0;
	background-color: #001336;
	visibility: hidden; opacity: 0;
	transform: translateY(-110%);
	transition: transform .32s cubic-bezier(.25,.8,.35,1), opacity .32s ease, visibility 0s linear .32s;
	box-shadow: 0 2px 14px rgba(0,0,0,.25);
}
#header-sticky.is-fixed {
	transform: translateY(0);
	visibility: visible; opacity: 1;
	transition: transform .32s cubic-bezier(.25,.8,.35,1), opacity .32s ease;
}
#header-sticky .container { height: 100%; display: flex; align-items: center; }
#header-sticky .contentstickynew_logo { text-align: left; }
#header-sticky .contentstickynew_logo a { display: inline-block; }
#header-sticky .contentstickynew_logo img {
	display: inline-block; height: 46px; width: auto; max-width: 300px;
	object-fit: contain; object-position: left center;
}

/* 后台管理条会顶掉固定头部，前台隐藏避免错位 */
.admin-bar .site-header.sticky-menu { top: 0 !important; }

/* 图片未懒加载完成时不塌陷 */
.product__thumbnail, .row__image, .manufacture__image { display: block; width: 100%; height: auto; }
.respone_image { position: relative; overflow: hidden; }
.respone_image > img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; }

/* ── 移动端侧滑菜单（源站 .canvas-menu.drawer-left，jquery.mmenu 等价实现） ── */
.canvas-menu {
	position: fixed; top: 0; left: auto; right: auto; width: 250px; height: 100%;
	background: #fff; z-index: 9999; overflow-y: auto;
	transition: all .45s cubic-bezier(.29, .63, .44, 1);
}
.canvas-menu.drawer-left { right: -250px; box-shadow: -2px 0 12px rgba(0,0,0,.15); }
.canvas-menu.drawer-left.active { right: 0; }
.canvas-overlay {
	position: fixed; inset: 0; background: rgba(0,0,0,.45);
	opacity: 0; visibility: hidden; transition: .3s ease; z-index: 9998;
}
.canvas-overlay.active { opacity: 1; visibility: visible; }
/* .canvas-header-box / .close-box 交由 novstyle 控制：
	.canvas-menu .canvas-header-box{padding:35px 0;font-size:16px;font-weight:700;color:#c3c4c3;background-color:#fff}
	.canvas-menu .canvas-header-box .close-box{cursor:pointer} */
.canvas-menu .canvas-nav { list-style: none; margin: 0; padding: 0; }
.canvas-menu .canvas-nav > li > a { display: block; padding: 12px 20px; border-bottom: 1px solid #f2f2f2; color: #222; }
body.canvasmenu-right { overflow: hidden; }

/* ── 商品卡按钮组：hover 浮出（补齐源站依赖 JS 的部分） ── */
.product--item .group-buttons, .item-product .group-buttons { transition: opacity .25s ease; }
.product--item:hover .group-buttons, .item-product:hover .group-buttons { opacity: 1; }

/* 加入购物车中的加载态 */
.btnAddToCart.loading { opacity: .6; pointer-events: none; }

/* ── 简易 toast ── */
.avape-toast {
	position: fixed; right: 24px; bottom: 24px; z-index: 10000;
	background: #212f4a; color: #fff; padding: 14px 20px; border-radius: 4px;
	font-size: 14px; opacity: 0; transform: translateY(12px);
	transition: .28s ease; pointer-events: none;
}
.avape-toast.show { opacity: 1; transform: translateY(0); }

/* ── 面包屑横幅：逐条照抄源站 a-vape.com 页面内联 <style>（#f4f6f8 底 +
      双向斜纹 pinstripe、padding 20px 15px 16px、margin-bottom 24px、
      标题 1.7rem / #12151c、面包屑 #1a1f2b、hover #00b2cc）── */
#NovBreadcrumbs,
.template-blog #NovBreadcrumbs,
.template-article #NovBreadcrumbs,
.template-search #NovBreadcrumbs,
.tb_gr #NovBreadcrumbs {
	background-color: #f4f6f8 !important;
	background-image:
		repeating-linear-gradient(135deg, rgba(0,207,238,.07) 0px, rgba(0,207,238,.07) 1px, transparent 1px, transparent 28px),
		repeating-linear-gradient(135deg, rgba(20,36,58,.055) 0px, rgba(20,36,58,.055) 1px, transparent 1px, transparent 7px) !important;
	padding: 20px 15px 16px !important;
	margin-bottom: 24px !important;
	position: relative;
	border-bottom: 1px solid rgba(20,36,58,.08);
	box-shadow: none !important;
}
#NovBreadcrumbs::before,
#NovBreadcrumbs::after { display: none !important; background: none !important; background-image: none !important; }
#NovBreadcrumbs .container { position: relative; z-index: 1; }
#NovBreadcrumbs .headingPage {
	color: #12151c !important;
	font-size: 1.7rem !important;
	line-height: 1.25 !important;
	margin-bottom: 2px !important;
	text-shadow: 0 0 10px rgba(255,255,255,.85);
}
#NovBreadcrumbs .breadcrumb { background: transparent !important; }
#NovBreadcrumbs .breadcrumb .list-inline-item a span,
#NovBreadcrumbs .breadcrumb .list-inline-item span,
#NovBreadcrumbs .breadcrumb .list-inline-item span span { color: #1a1f2b !important; }
#NovBreadcrumbs .breadcrumb .list-inline-item a:hover span { color: #00b2cc !important; }
#NovBreadcrumbs .breadcrumb .list-inline-item:not(:last-child):before { background: #1a1f2b !important; }
#NovBreadcrumbs .moved_product,
#NovBreadcrumbs .moved_blog { margin-top: 8px !important; }
#NovBreadcrumbs .moved_product a i,
#NovBreadcrumbs .moved_blog a i { color: #12151c !important; }
#NovBreadcrumbs .moved_product a:not(:last-child):after,
#NovBreadcrumbs .moved_blog a:not(:last-child):after { background: rgba(18,21,28,.2) !important; }
@media (max-width: 1199px) {
	#NovBreadcrumbs,
	.template-blog #NovBreadcrumbs,
	.template-article #NovBreadcrumbs,
	.tb_gr #NovBreadcrumbs { padding: 18px 15px 14px !important; }
}
@media (max-width: 767px) {
	#NovBreadcrumbs,
	.template-blog #NovBreadcrumbs,
	.template-article #NovBreadcrumbs,
	.tb_gr #NovBreadcrumbs { padding: 14px 15px 12px !important; }
	#NovBreadcrumbs .headingPage { font-size: 1.45rem !important; }
}

/* ── 排序条（对齐源站：尺寸全部交给 novstyle 的
      .template-collection .collection-filters__sort 规则 ——
      min-width:200px / font-size:12px / 2px 黑下划线 / padding:0，
      sorting 与视图切换间距 40px；此处只补自绘箭头，勿覆盖源站尺寸） ── */
.collection-filters__sort {
	appearance: none; -webkit-appearance: none;
	background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23222' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right center;
	color: #222; cursor: pointer; outline: none;
}
.template-collection .collection-filters__sort { padding-right: 18px; }
.collection-filters__sort:focus { box-shadow: none; }

/* ── 筛选侧栏：尺寸/字号/间距/勾选框全部交给 novstyle 的
      .template-collection facets 原生规则（.facet-checkbox .custom-checkbox
      16×16、选中黑实心、.facets__reset 胶囊、.facets__price .field__input
      2px 黑下划线、.headingfilter 20px 大写、.disclosure-has-popup 分隔线）。
      此处只补两处：facets__display 源站由 JS 折叠，本地无折叠逻辑需强制展开；
      隐藏的原生 input（visibility:hidden;width:0;height:0）对 radio 同样适用 ── */
.template-collection .facets__display { display: block; }
.template-collection .facet-checkbox > input[type="radio"] { visibility: hidden; width: 0; height: 0; }
.product_tags.list-unstyled { list-style: none; padding-left: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.product_tags.list-unstyled li a { border: 1px solid #e8e8e8; padding: 2px 8px; font-size: 12px; display: inline-block; }

/* ── 集合页三种视图比例（源站截图实测：三列图宽约 74% 卡宽、双列约 80%；
   视图切换由 #main-collection-product-grid[data-grid] + body.template-collection 驱动 novstyle） ── */
.template-collection .grid--view-items .thumbnail-container { padding: 9% 12.8% 0; }
.template-collection #main-collection-product-grid[data-grid="grid-2"] .thumbnail-container { padding: 6% 10% 0; }
.template-collection #main-collection-product-grid[data-grid="list"] .thumbnail-container { padding: 20px; }

/* ── 分页：复用源站 novstyle 的 .pagination__btn / .pagination__text 方框样式，
   这里补：当前页灰底（paginate_links 把 current 类放在 span 上）+ Previous/Next 文字按钮宽度 ── */
.pagination .pagination__text > span.page-numbers.current {
	background: #e4e4e4; color: #222; font-weight: 700; cursor: not-allowed;
}
.pagination .pagination__btn {
	display: inline-block; min-width: 100px; height: 40px; line-height: 38px; text-align: center;
}

/* ── WooCommerce 通用修正 ── */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	list-style: none; padding: 14px 20px; margin: 0 0 20px; border-top: 2px solid #212f4a; background: #f7f7f7; font-size: 14px;
}
.woocommerce-error { border-color: #e2401c; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }
.screen-reader-text { position: absolute !important; overflow: hidden; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; }

/* 商品详情价格 / 库存 */
.product-single__title { font-size: 28px; font-weight: 700; text-transform: uppercase; margin-bottom: 10px; }
.product-single__shortdes { margin: 12px 0; color: #555; }
.product-single__tags a:hover { color: #212f4a; }
.label.control-label { display: inline-block; min-width: 62px; font-weight: 700; color: #222; }

/* 变体下拉（原站隐藏原生 select，使用按钮式规格选择） */
.items_var select.hide { display: none; }
.avape-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.avape-swatches button {
	border: 1px solid #d8d8d8; background: #fff; padding: 8px 16px; font-size: 13px;
	cursor: pointer; text-transform: uppercase; transition: .2s;
}
.avape-swatches button.active, .avape-swatches button:hover { border-color: #212f4a; background: #212f4a; color: #fff; }

/* 数量选择器 */
.quick_view_qty { display: inline-flex; align-items: center; border: 1px solid #d8d8d8; }
.quick_view_qty a { width: 34px; height: 38px; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.quick_view_qty input { width: 54px; height: 38px; border: 0; text-align: center; }

/* 结账页字段紧凑 */
.checkout.woocommerce-checkout .form-row label { font-weight: 600; }

/* 响应式收敛（对齐源站断点 992 / 768） */
@media (max-width: 991px) {
	#accessibility .container, .main-content .container { padding-left: 15px; padding-right: 15px; }
	.product-single__title { font-size: 22px; }
}
@media (max-width: 767px) {
	.footer-layout .footer-block { margin-bottom: 22px; }
}

/* ═══════════════════════════════════════════════════════
   首页细节修正（2026-10-06 第 2 轮：10 项）
   源站 :root 变量原写在 Shopify 主题设置的 <style> 里，
   迁移后缺失，导致全站 var(--theme-color-*) 全部失效。
   ═══════════════════════════════════════════════════════ */

/* ── 4. 主题色变量（primary 沿用源站 #00b2cc，hover/success 按需求 #00deff） ── */
:root {
	--font-size-default: 14px;
	--font-family-default: "Open Sans", sans-serif;
	--theme-color-default: #000000;
	--theme-color-default-rgb: 0, 0, 0;
	--theme-color-primary: #00b2cc;
	--theme-color-primary-rgb: 0, 178, 204;
	--theme-color-hover: #00deff;
	--theme-color-success: #00deff;
	--color-heading: #222222;
	--color-heading-rgb: 34, 34, 34;
	--color-heading-second: #444444;
	--color-heading-sub: #666666;
	--color-menu: #ffffff;
	--color-text: #909090;
	--color-body-text: #2d2d2d;
	--color-body-text-rgb: 45, 45, 45;
	--color_button: #000000;
	--color_button_hover: #00b2cc;
	--color_button_text: #ffffff;
	--color-bg-alt: rgba(45, 45, 45, .05);
	--color-bg-product: #f5f5f5;
	--color-border: #e0e0e0;
	--color-price: #222;
	--color-reduced-price: #d5d5d5;
	--color-product-icon: #000000;
}

/* ── 2. 顶部信息条：邮箱图标 #00deff，文字 400 ── */
.site-header .header-top .b_info,
.site-header .header-top .b_info span,
.site-header .header-top .b_info a { font-weight: 400; }
.site-header .header-top .b_info i { color: #00deff; }

/* ── 3. 顶部信息条 My Account hover ── */
.site-header .header-top .dropdown-toggle { transition: color .2s ease; }
.site-header .header-top .dropdown-toggle:hover { color: #00deff; }

/* ── 5. 主导航：Main 恒 #00deff；ALL PRODUCTS / Collections 白色、hover #00deff ── */
#AccessibleNav .site-nav > li > a.site-nav__link,
#header-sticky .site-nav > li > a.site-nav__link { color: #ffffff; }
#AccessibleNav .site-nav > li > a.site-nav__link:hover,
#AccessibleNav .site-nav > li > a.site-nav__link:focus,
#header-sticky .site-nav > li > a.site-nav__link:hover,
#header-sticky .site-nav > li > a.site-nav__link:focus { color: #00b2cc; }
#AccessibleNav .site-nav > li:first-child > a.site-nav__link,
#header-sticky .site-nav > li:first-child > a.site-nav__link,
#AccessibleNav .site-nav > li:first-child > a.site-nav__link:hover,
#header-sticky .site-nav > li:first-child > a.site-nav__link:hover { color: #00b2cc !important; }

/* ── 6. 首页主视觉轮播圆点：选中 var(--theme-color-primary)，未选中透明 ── */
.section-slideshow .slick-dots { bottom: 24px; }
.section-slideshow .slick-dots li { width: 14px; height: 14px; margin: 0 6px; }
.section-slideshow .slick-dots li button {
	width: 14px; height: 14px; padding: 0;
	background: transparent !important; border: 0;
}
.section-slideshow .slick-dots li button:before {
	content: ""; position: static; display: block;
	width: 14px; height: 14px; margin: 0; padding: 0;
	font-family: none; font-size: 0; line-height: 14px;
	color: transparent; background-color: #9e9e9e;
	border-radius: 50%; opacity: 1;
	transition: background-color .25s ease;
}
.section-slideshow .slick-dots li button:hover:before,
.section-slideshow .slick-dots li button:focus:before {
	background-color: var(--theme-color-hover);
}
.section-slideshow .slick-dots li.slick-active button:before {
	background-color: var(--theme-color-primary);
}

/* ── 7. 商品滑块 Previous/Next：图标由 avape.js 注入的 zmdi <i> 模板渲染（源站 theme.js 同款） ── */
/* zmdi 的 font-size:inherit 在这里会继承到 10px 导致字形过小，显式对齐源站 1.8rem；
   flex 居中保证字形落在圆心（继承的 text-align 对绝对定位容器内的行内块不生效） */
.nov-slick-carousel .slick-arrow,
.collection-carousel .slick-arrow,
.navmenu-product .grid--view-items .slick-arrow {
	display: flex; align-items: center; justify-content: center;
	line-height: 1;
}
.nov-slick-carousel .slick-arrow i,
.collection-carousel .slick-arrow i,
.navmenu-product .grid--view-items .slick-arrow i {
	font-size: 1.8rem;
	color: inherit;
	-webkit-font-smoothing: antialiased;
}

/* ── 9. 品牌商品跑马灯：白色遮罩效果（源站 .manufacture__item{opacity:.3}，非置灰滤镜） ── */
.section-manufacture .manufacture__item {
	opacity: .3;
	transition: all .35s ease;
}
.section-manufacture .manufacture__item:hover,
.section-manufacture .manufacture__item:focus-within { opacity: 1; }

/* ── 11. 返回顶部按钮（对齐源站 #_desktop_back_top） ──
   初始：白底 + 1px 细边框（primary 色）+ primary 箭头
   hover：背景变为 --theme-color-hover、边框加粗到 2px、箭头转白、叠加 inset 白环，
          全部由 transition: all .3s ease 驱动成动画过程 */
#avape-back-top {
	position: fixed; right: 15px; bottom: 55px; z-index: 999;
	opacity: 0; visibility: hidden;
	transform: translateY(14px);
	transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}
#avape-back-top.is-visible {
	opacity: 1; visibility: visible;
	transform: translateY(0);
	transition: opacity .3s ease, transform .3s ease;
}
#avape-back-top button {
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; padding: 0;
	border: 1px solid var(--theme-color-primary);
	border-radius: 50%;
	background-color: #ffffff;
	color: var(--theme-color-primary);
	cursor: pointer;
	transition: all .3s ease;
}
#avape-back-top button i {
	font-size: 2rem; line-height: 1;
	color: inherit;
	transition: all .3s ease;
}
#avape-back-top button:hover,
#avape-back-top button:focus {
	border-width: 2px;
	color: #ffffff;
	background: var(--theme-color-primary);
	box-shadow: inset 0 0 0 3px #ffffff;
}

/* ── 10. footer 配色统一：Newsletter 与链接区同色，版权条白底 ── */
.nov-footer .footer_top,
.nov-footer .footer-layout { background-color: #0d182d; }
.nov-footer .footer_copyright { background-color: #ffffff; }
.nov-footer .footer_top .block_newsletter .title_block { color: #ffffff; }
.nov-footer .footer_top .block_newsletter .sub_title { color: rgba(255, 255, 255, .72); }
.nov-footer .footer-layout .title-block { color: #ffffff; }
.nov-footer .footer-layout .title-block > span:first-child { color: #ffffff; }
.nov-footer .footer-layout .block-content,
.nov-footer .footer-layout .site-footer__linklist a,
.nov-footer .footer-layout .contact .content,
.nov-footer .footer-layout .contact .content a { color: rgba(255, 255, 255, .72); }
.nov-footer .footer-layout .site-footer__linklist a:hover,
.nov-footer .footer-layout .contact .content a:hover { color: #00deff; }
.nov-footer .footer-layout .contact .content strong { color: #ffffff; }
.nov-footer .footer-layout .contact > i { color: #00b2cc; }

/* ── 12. footer 内 Subscribe 按钮：底 #00b2cc + 白字，hover 底 var(--theme-color-hover)；.block-content.adc 图标 #00b2cc ── */
.nov-footer .footer_top .block_newsletter button {
	background-color: #00b2cc;
	color: #ffffff;
}
.nov-footer .footer_top .block_newsletter button:hover,
.nov-footer .footer_top .block_newsletter button:focus {
	background-color: var(--theme-color-hover);
	color: #ffffff;
}
.nov-footer .footer-layout .block-content.adc i { color: #00b2cc; }
.nov-footer .footer_copyright .copyright { color: #555555; }

/* ═══════════════ 移动端适配（窄屏/手机） ═══════════════ */

/* ── 13. 底部菜单栏留位 + 隐藏浮动返回顶部（ON TOP 已并入底栏） ── */
@media (max-width: 767px) {
	body { padding-bottom: 58px; }
	#avape-back-top { display: none !important; }
}

/* ── 14. 侧滑菜单/竖菜单交互补充 ── */
.canvas-menu .canvas-nav > li { border-bottom: 1px solid #f2f2f2; }
.canvas-menu .canvas-nav > li > a {
	display: block; padding: 13px 20px;
	font-weight: 700; font-size: 13px; letter-spacing: .04em;
	text-transform: uppercase; color: #162950;
}
.canvas-menu .canvas-nav > li.canvas-active > a { color: var(--theme-color-hover); }
.canvas-menu .canvas-nav > li.site-nav--has-dropdown { position: relative; padding-right: 44px; }
.canvas-menu .canvas-nav .dropdown_menu { padding: 0 0 12px; }
.canvas-menu .canvas-nav .dropdown_menu a {
	display: block; padding: 9px 20px 9px 34px;
	font-weight: 400; font-size: 13px; color: #555555;
}
#_mobile_vertical_menu .vm-header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 12px 14px; border-bottom: 1px solid #eeeeee;
}
#_mobile_vertical_menu .vm-header span { font-weight: 700; font-size: 14px; text-transform: uppercase; }
#_mobile_vertical_menu .vm-header .vm-close { cursor: pointer; font-size: 20px; color: #222222; }
#_mobile_vertical_menu .site-nav { list-style: none; margin: 0; padding: 0; }
#_mobile_vertical_menu .site-nav > li { border-bottom: 1px solid #f2f2f2; }
#_mobile_vertical_menu .site-nav > li > a,
#_mobile_vertical_menu .site-nav > li .menu-row {
	display: flex; align-items: center; justify-content: space-between;
	padding: 13px 14px; font-weight: 700; font-size: 13px;
	letter-spacing: .04em; text-transform: uppercase; color: #162950;
}
#_mobile_vertical_menu .site-nav > li.vm-active > a { color: var(--theme-color-hover); }
#_mobile_vertical_menu .site-nav > li .show_sub { cursor: pointer; display: inline-flex; }
#_mobile_vertical_menu .site-nav > li.is-open > .site-nav__dropdown { display: block; }
#_mobile_vertical_menu .site-nav > li .site-nav__dropdown a {
	display: block; padding: 9px 14px 9px 30px;
	font-weight: 400; font-size: 13px; color: #555555;
}

/* ── 15. 轮播文字入场动画（slide1 底部上浮 / slide2 左侧划入，每次切换重新触发） ── */
.section-slideshow .main-slider .content-1,
.section-slideshow .main-slider .content-2 { opacity: 0; }
.section-slideshow .main-slider .slick-slide.slick-active .content-1 {
	animation: avapeSlideUp .7s cubic-bezier(.25, .8, .35, 1) .1s both;
}
.section-slideshow .main-slider .slick-slide.slick-active .content-2 {
	animation: avapeSlideLeft .7s cubic-bezier(.25, .8, .35, 1) .1s both;
}
@keyframes avapeSlideUp {
	from { opacity: 0; transform: translateY(90px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes avapeSlideLeft {
	from { opacity: 0; transform: translateX(-90px); }
	to   { opacity: 1; transform: translateX(0); }
}

/* ── 16. FontAwesome 字体路径修正：font-awesome.min.css 的 @font-face 相对 css/ 目录导致 404 ── */
@font-face {
	font-family: 'FontAwesome';
	src: url('assets/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
	     url('assets/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),
	     url('assets/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

/* ── 17. canvas 菜单头部：已还原为源站结构（居中 × 图标），
	novstyle 的 .canvas-menu .canvas-header-box 规则生效，此处不再覆盖。 ── */

/* ── 18. 移动端购物车图层：仅补「有商品」态的排版
	空态（.cart.cart_empty / .empty_title / .block_link_cart）完全复用 novstyle 的源站样式：
	  .cart_empty{padding:30px}
	  .cart_empty .empty_title{margin-top:0!important}
	  .block_link_cart a{min-width:230px;background-color:#fff;font-size:13px;color:#222!important;
	                     border:2px solid black;transition:all .3s;text-align:center;font-weight:700;
	                     padding:10px 18px;height:initial;line-height:initial}
	  .block_link_cart a span{display:block}
	  .block_link_cart a:hover{background-color:#000;color:#fff!important}
	故此处不再覆盖按钮外观，避免与源站样式冲突。 ── */
#_mobile_cart .cart { padding: 20px 30px; }
#_mobile_cart .avape-cart-line {
	display: flex; justify-content: space-between; align-items: center;
	padding: 12px 0; border-bottom: 1px solid #f0f0f0; font-size: 13px;
}
#_mobile_cart .avape-cart-subtotal {
	display: flex; justify-content: space-between;
	padding: 16px 0; font-weight: 700; font-size: 14px;
}
#_mobile_cart .btn_submit { margin-top: 10px; }
#_mobile_cart .btn_submit .btn {
	width: 100%; margin-bottom: 12px; border-radius: 40px;
	background: var(--theme-color-primary); color: #fff;
}
#_mobile_cart .btn_submit .btn:hover { background: var(--theme-color-hover); }

/* 移动端账户图层：源站 #mobile-pageaccount 规则
	.account-list-content{font-size:13px}  图标隐藏  >div{padding:15px 0}
	这里只补链接色，其余交由 novstyle 控制 */
#mobile-pageaccount .account-list-content a { color: var(--theme-color-default); text-decoration: none; }
#mobile-pageaccount .account-list-content a:hover { color: var(--theme-color-hover); }

/* ══════════════════════════════════════════════════════
   19. 商品卡交互：ATC 药丸 / 三点展开 / Quick View /
       Wishlist toast / 缺货通知（复刻 a-vape.com 行为）
   ══════════════════════════════════════════════════════ */

/* ── 19.2 三点按钮：默认收起 Quick View / Wishlist，.open 展开 ── */
.item-product .group-buttons .productQuickView,
.item-product .group-buttons .productWishList {
	display: block;
	opacity: 0; visibility: hidden;
	transform: translateX(-47px);
	transition: all .35s ease;
}
.item-product .group-buttons.open .productQuickView,
.item-product .group-buttons.open .productWishList {
	opacity: 1; visibility: visible; transform: translateX(0);
}
.item-product .btn-group-act { cursor: pointer; }

/* ── 19.3 按钮悬浮气泡标签（Add to Cart / Quick View / Notify Me / Add To Wishlist）
      悬浮在按钮正上方、带向下小三角箭头，绝对定位，不占位、不影响页面布局。
      注意：气泡挂在包装层（form.formAddToCart / .productQuickView / .productWishList）
      而非按钮本身 —— novstyle 已占用 .formAddToCart .btn::before 作为加载转圈，
      若在按钮上用 ::before 会与 top:50%/left:50% 冲突导致气泡叠在按钮上 ── */
.item-product .group-buttons [data-tip] { position: relative; }
.item-product .group-buttons [data-tip]::before {
	content: attr(data-tip);
	position: absolute;
	bottom: calc(100% + 11px); left: 50%;
	transform: translate(-50%, 6px);
	background: #fff; color: var(--color-heading-sub, #222);
	font-size: 10px; font-weight: 400; line-height: 1;
	letter-spacing: .3px; text-transform: capitalize;
	padding: 5px 20px; border-radius: 20px;
	box-shadow: 0 2px 10px rgba(0,0,0,.16);
	white-space: nowrap; opacity: 0; pointer-events: none;
	visibility: hidden; z-index: 60;
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
/* 向下小三角箭头（白色，与气泡同色融为一体；
   z-index 低于气泡，上半藏在气泡后，只露出下半白三角） */
.item-product .group-buttons [data-tip]::after {
	content: "";
	position: absolute;
	bottom: calc(100% + 6px); left: 50%;
	transform: translate(-50%, 6px) rotate(45deg);
	width: 8px; height: 8px;
	background: #fff;
	opacity: 0; pointer-events: none;
	visibility: hidden; z-index: 59;
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.item-product .group-buttons [data-tip]:hover::before {
	opacity: 1; visibility: visible; transform: translate(-50%, 0);
}
.item-product .group-buttons [data-tip]:hover::after {
	opacity: 1; visibility: visible; transform: translate(-50%, 0) rotate(45deg);
}
/* 缺货信封按钮 hover 同样变青绿（源站只对有货三键定义了 hover） */
.item-product .btnsold_out.btn:hover {
	color: #fff;
	background: var(--theme-color-hover);
	border: 1px solid var(--theme-color-hover);
}
.item-product .btnProductWishlist.active,
.av-qv__wish.active {
	color: var(--theme-color-primary) !important;
	border-color: var(--theme-color-primary);
	background: var(--theme-color-primary);
}
.item-product .btnProductWishlist.active:hover,
.av-qv__wish.active { color: #fff !important; }

/* ── 19.4 弹窗基础 ── */
.av-modal { position: fixed; inset: 0; z-index: 10001; display: none; }
.av-modal.show { display: block; }
.av-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.av-modal__box {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
	background: #fff; max-height: 90vh; overflow-y: auto;
}
.av-modal__close {
	position: absolute; top: 8px; right: 14px;
	background: none; border: 0; font-size: 26px; line-height: 1;
	color: #222; cursor: pointer; z-index: 2; padding: 4px;
}
body.av-modal-open { overflow: hidden; }

/* ── 19.5 Quick View 弹窗（源站 1920 实测结构） ── */
.av-qv { width: 860px; max-width: calc(100vw - 40px); padding: 48px 50px; text-align: left; }
.av-qv__inner { display: flex; gap: 45px; align-items: flex-start; }
.av-qv__img { flex: 0 0 350px; max-width: 350px; }
.av-qv__img img { width: 100%; height: auto; object-fit: contain; display: block; }
.av-qv__info { flex: 1; min-width: 0; }
.av-qv__name { font-size: 16px; font-weight: 700; text-transform: uppercase; color: #222; margin: 0 0 14px; }
.av-qv__price { font-size: 20px; font-weight: 700; color: var(--theme-color-primary); margin-bottom: 24px; }
.av-qv__price del { color: #999; font-weight: 400; margin-right: 8px; }
.av-qv__price ins { text-decoration: none; }
.av-qv__meta { margin: 0 0 24px; }
.av-qv__meta > div { display: flex; margin-bottom: 9px; font-size: 11px; }
.av-qv__meta dt {
	width: 100px; flex: 0 0 100px; color: #666;
	text-transform: uppercase; letter-spacing: .5px; font-weight: 400;
}
.av-qv__meta dd {
	margin: 0; color: #222; text-transform: uppercase;
	letter-spacing: .5px; font-weight: 600;
}
.av-qv__meta dd.ok { color: #22a45d; }
.av-qv__meta dd.bad { color: #d04848; }
.av-qv__qtyrow { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; flex-wrap: wrap; }
.av-qv__qtylabel { font-size: 11px; color: #666; text-transform: uppercase; letter-spacing: .5px; }
.quick_view-qty { display: inline-flex; border: 1px solid #e0e0e0; }
.quick_view-qty button {
	width: 38px; height: 40px; background: #fff; border: 0;
	color: #666; font-size: 15px; cursor: pointer; transition: color .2s;
}
.quick_view-qty button:hover { color: #000; }
.quick_view-qty input {
	width: 46px; height: 40px; border: 0;
	border-left: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0;
	text-align: center; font-size: 13px; color: #222;
}
.av-qv__wish {
	font-size: 11px; font-weight: 700; text-transform: uppercase;
	color: #222; letter-spacing: .5px; transition: color .2s;
}
.av-qv__wish i { margin-right: 6px; font-size: 15px; }
.av-qv__wish:hover { color: var(--theme-color-primary); }
.av-qv__atc {
	display: block; width: 100%; height: 46px;
	background: #000; color: #fff; border: 0;
	font-size: 11px; font-weight: 700; text-transform: uppercase;
	letter-spacing: 1px; cursor: pointer; margin-bottom: 10px;
	transition: background .2s;
}
.av-qv__atc:hover { background: var(--theme-color-primary); }
.av-qv__atc.loading { opacity: .6; pointer-events: none; }
.av-qv__details {
	display: block; width: 100%; height: 46px; line-height: 46px;
	background: #000; color: #fff; text-align: center;
	font-size: 11px; font-weight: 700; text-transform: uppercase;
	letter-spacing: 1px; transition: background .2s;
}
.av-qv__details:hover { background: var(--theme-color-primary); color: #fff; }
.av-qv__loading { padding: 80px 0; text-align: center; min-width: 400px; font-size: 20px; color: #999; }
.av-qv__error { padding: 40px 0; text-align: center; min-width: 400px; color: #d04848; }

/* ── 19.6 缺货 Sold Out 通知弹窗（对齐源站 SaleHub Back-in-Stock 弹窗，
      按源站截图实测：560px 白盒 / 65px 左右内边距 / 16px 粗体标题 /
      48px email 框（placeholder 灰蓝）/ 50px #eaeaea 浅灰按钮 /
      16×16 checkbox + 13px 说明文字行距 24px。
      ⚠ novstyle 全局 input 规则（display:block;width:100%;padding:13px 15px）
      会把 consent checkbox 撑成巨大色块（accent-color 青色），
      必须在此显式锁死尺寸，勿删 ── */
.av-so { width: 560px; max-width: calc(100vw - 40px); padding: 74px 65px 78px; text-align: center; }
.av-so__title { font-size: 16px; font-weight: 700; color: #222; margin: 0 0 18px; }
.av-so__sub { font-size: 13px; color: #333; line-height: 22px; margin: 0 0 38px; }
.av-so__email {
	display: block; width: 100%; height: 48px; padding: 0 14px;
	border: 1px solid #d9d9d9; border-radius: 0; background: #fff;
	box-shadow: none; text-align: center;
	font-size: 13px; color: #222; line-height: 46px; margin-bottom: 11px;
}
.av-so__email::placeholder { color: #7590bc; opacity: 1; }
.av-so__email:focus { outline: none; border-color: #222; }
.av-so__btn {
	display: flex; width: 100%; height: 50px;
	align-items: center; justify-content: center; gap: 9px;
	background: #eaeaea; color: #222; border: 0; border-radius: 0;
	font-size: 13px; font-weight: 600; letter-spacing: 0;
	cursor: pointer; transition: background .2s;
}
.av-so__btn:hover { background: #ddd; color: #222; }
.av-so__btn:disabled { opacity: .6; }
.av-so__btn i { font-size: 15px; }
.av-so__consent {
	display: flex; gap: 10px; text-align: left;
	font-size: 13px; color: #222; line-height: 24px;
	margin-top: 32px; cursor: pointer; font-weight: 400;
}
.av-so__consent input {
	width: 16px; height: 16px; min-width: 16px; flex: 0 0 16px;
	padding: 0; margin: 4px 0 0; display: inline-block; line-height: 1;
	accent-color: var(--theme-color-primary);
}
.av-so__consent a { color: #222; }
.av-so__consent a:hover { color: var(--theme-color-primary); }
/* × 关闭钮：源站位于标题行右端（非盒角），与标题同高 */
.av-so .av-modal__close { top: 78px; right: 64px; font-size: 20px; }
.av-so__consent a { color: #222; }
.av-so__consent a:hover { color: var(--theme-color-primary); }
.av-so__msg { margin: 14px 0 0; font-size: 13px; color: #22a45d; font-weight: 600; }
.av-so__msg.bad { color: #d04848; }

/* ── 19.7 Wishlist toast（右下角，5 秒自动关闭） ── */
#avWishToast {
	position: fixed; right: 20px; bottom: 20px; width: 252px; z-index: 10002;
	background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.18);
	opacity: 0; transform: translateY(14px);
	pointer-events: none; transition: all .3s ease;
}
#avWishToast.show { opacity: 1; transform: translateY(0); pointer-events: auto; }
.av-wt__bar {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	background: var(--theme-color-primary); color: #fff;
	padding: 9px 12px; font-size: 9.5px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .4px;
}
.av-wt__x {
	background: none; border: 0; color: #fff;
	font-size: 16px; line-height: 1; cursor: pointer; padding: 0;
}
.av-wt__card { display: flex; align-items: center; gap: 10px; padding: 12px; }
#avWtImg { width: 52px; height: 52px; object-fit: contain; flex: 0 0 52px; }
.av-wt__name {
	flex: 1; font-size: 10px; font-weight: 700;
	text-transform: uppercase; color: #222; line-height: 1.45;
}
.av-wt__go {
	flex: 0 0 auto; background: #fff; border: 1px solid #ddd;
	padding: 8px 10px; font-size: 9px; font-weight: 700;
	text-transform: uppercase; color: #222; white-space: nowrap;
	transition: all .2s;
}
.av-wt__go:hover { border-color: #222; color: #000; }

/* ── 19.8 Wishlist 页面 ── */
.av-wl-head {
	padding: 25px 0 26px; text-align: center;
	background-color: #f4f6f8;
	background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.55) 0 2px, transparent 2px 9px);
	margin-bottom: 30px;
}
.av-wl-title { font-size: 18px; font-weight: 700; text-transform: uppercase; color: #222; margin: 0; }
#avWishlistGrid { padding-bottom: 50px; }
.av-wl-empty { text-align: center; padding: 40px 0; color: #666; width: 100%; font-size: 14px; }

/* ── 19.8b 商品页 shipping 行（源站内联 color/font-size） ── */
.template-product .shiping_time,
.template-product .shiping_truck { color: #494949; font-size: 12px; }

/* ── 19.8b2 加购行（源站实测：quantity 行 flex，数量框 110px +
      submit 撑满剩余 ~405px，按钮全宽） ── */
.template-product .product-form__item--quantity { display: flex; }
.template-product .product-form__item--quantity .quick_view_qty { flex: 0 0 110px; margin-right: 10px; display: flex; align-items: stretch; border: 1px solid #e6e6e6; }
.template-product .quick_view_qty .quick_view-qty {
	display: flex; align-items: center; justify-content: center;
	width: 30px; border: 0; background: #fff; color: #666;
	font-size: 16px; text-decoration: none;
}
.template-product .quick_view_qty .quick_view-qty:hover { color: var(--theme-color-primary); text-decoration: none; }
/* ⚠ novstyle 全局 input 规则（padding:13px 15px）会把 54px 输入框挤爆（数字竖排溢出），必须显式锁死 */
.template-product .quick_view_qty input.quantity-selector {
	width: 48px; height: 48px; padding: 0; margin: 0;margin-left: 30px;
	border: 0; border-left: 1px solid #e6e6e6; border-right: 1px solid #e6e6e6; border-radius: 0;
	text-align: center; font-size: 13px; font-weight: 400; color: #222;
	background: #fff; box-shadow: none; -moz-appearance: textfield;
}
.template-product .quick_view_qty input.quantity-selector::-webkit-outer-spin-button,
.template-product .quick_view_qty input.quantity-selector::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.template-product .product-form__item--quantity .product-form__item--submit { flex: 1 1 auto; width: auto; min-width: 0; }
.template-product .product-form__item--quantity .product-form__item--submit #AddToCart { width: 100%; }

/* ── 19.8b3 Buy it now（源站 shopify-payment-button 同位置，黑底全宽）+
      Guaranteed safe checkout 行 ── */
.template-product .av-buy-now {
	display: flex; width: 100%; height: 50px; margin-top: 10px;
	align-items: center; justify-content: center;
	background: #000; color: #fff; border: 0; border-radius: 0;
	font-size: 12px; font-weight: 800; text-transform: uppercase;
	letter-spacing: 1px; cursor: pointer; transition: background .2s;
}
.template-product .av-buy-now:hover { background: var(--theme-color-primary); color: #fff; }
.template-product .av-buy-now.loading { opacity: .6; pointer-events: none; }
.template-product .av-safe-checkout { margin-top: 24px; font-size: 12px; font-weight: 800; text-transform: uppercase; color: #222; }

/* ── 19.8b4 商品介绍富文本（位于 Guaranteed safe checkout 下方）+
      无内容时的占位（复刻源站 No image：禁止符 + 斜体灰字） ── */
.template-product .av-product-desc { margin-top: 20px; font-size: 13px; line-height: 1.7; color: #494949; }
.template-product .av-product-desc p { margin-bottom: 12px; }
.template-product .av-product-desc p:last-child { margin-bottom: 0; }
.template-product .av-product-desc ul,
.template-product .av-product-desc ol { padding-left: 20px; margin-bottom: 12px; list-style: inherit; }
.template-product .av-product-desc li { margin-bottom: 4px; }
.template-product .av-product-desc h1,
.template-product .av-product-desc h2,
.template-product .av-product-desc h3,
.template-product .av-product-desc h4 { font-weight: 700; color: #222; margin: 16px 0 10px; line-height: 1.3; }
.template-product .av-product-desc h1 { font-size: 20px; }
.template-product .av-product-desc h2 { font-size: 18px; }
.template-product .av-product-desc h3 { font-size: 16px; }
.template-product .av-product-desc img { max-width: 100%; height: auto; }
.template-product .av-product-desc a { color: #222; text-decoration: underline; }
.template-product .av-product-desc a:hover { color: var(--theme-color-primary); }
.template-product .av-product-desc table { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.template-product .av-product-desc td,
.template-product .av-product-desc th { border: 1px solid #e6e6e6; padding: 8px 10px; font-size: 12px; }
.av-no-desc { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 120px 0; }
.av-no-desc svg { width: 140px; height: 140px; display: block; }
.av-no-desc span { font-size: 30px; font-style: italic; color: #bdbdbd; }

/* ── 19.8c 评价区（WooCommerce 评论表单英文整洁版；
      ⚠ novstyle 全局 input 规则会打爆 checkbox，需显式锁尺寸） ── */
#blockreview .comment-reply-title,
#blockreview .comments-title { font-size: 16px; font-weight: 700; color: #222; }
#blockreview .comment-form-rating .star-rating,
#blockreview .comment-form-rating p.stars { display: none !important; }
.avape-stars-wrap { display: inline-flex; gap: 4px; margin: 2px 0 0; }
.avape-star {
	background: none; border: 0; padding: 2px; cursor: pointer;
	font-size: 18px; line-height: 1; color: #d9d9d9;
	transition: color .15s ease;
}
.avape-star.is-on { color: #f5a623; }
.avape-star:hover { color: #f5a623; }
#blockreview .comment-form-cookies-consent { display: flex; align-items: center; gap: 8px; }
#blockreview .comment-form-cookies-consent input[type="checkbox"] {
	width: 16px; height: 16px; min-width: 16px; flex: 0 0 16px;
	padding: 0; margin: 0; display: inline-block; line-height: 1;
	accent-color: var(--theme-color-primary);
}
#blockreview .form-submit input[type="submit"],
#blockreview .submit {
	display: inline-block; width: auto; min-width: 180px; height: 44px;
	background: #000; color: #fff; border: 0; border-radius: 0;
	font-size: 12px; font-weight: 700; text-transform: uppercase;
	letter-spacing: 1px; cursor: pointer; transition: background .2s;
}
#blockreview .form-submit input[type="submit"]:hover,
#blockreview .submit:hover { background: var(--theme-color-primary); color: #fff; }

/* ── 19.9 移动端适配 ── */
@media (max-width: 767px) {
	.av-qv { padding: 42px 22px 30px; }
	.av-qv__inner { flex-direction: column; gap: 20px; }
	.av-qv__img { flex: none; max-width: 240px; margin: 0 auto; }
	.av-so { padding: 45px 25px 35px; }
	#avWishToast { right: 12px; bottom: 12px; width: calc(100vw - 24px); max-width: 300px; }
}

/* ── 19.10 加购后购物车弹窗（magnificPopup + novstyle .cart__popup 体系补充） ── */
#content_cart__popup_nt { animation: avFadeIn .25s ease; }
@keyframes avFadeIn { from { opacity: 0; } to { opacity: 1; } }
.cart__popup .nov-close { z-index: 10; background: none; border: 0; cursor: pointer; }
.cart__popup.loading { opacity: .55; pointer-events: none; transition: opacity .2s; }
/* 弹窗内 upsell 卡（novstyle 已有主体，这里补图片与按钮底色） */
.cart__popup .popup__cart-product img { width: 100%; display: block; }
.cart__popup .popup__cart-product .btnAddToCart { background: #252525; color: #fff; }
.cart__popup .popup__cart-product .btnAddToCart span { color: #fff; }
.cart__popup .popup__cart-product .btnAddToCart:hover { background: var(--theme-color-hover); border-color: var(--theme-color-hover); }
.cart__popup .cart__popup-related-title { margin-top: 20px; }
#upsell_wrap { padding-bottom: 5px; }
@media (max-width: 767px) {
	.cart__popup { margin: 30px auto !important; }
	.cart__popup-item .cart__popup_grow { min-width: 0 !important; max-width: none !important; flex: 1 1 auto; }
	.cart__popup-item { flex-wrap: wrap; }
}

/* ═══════════════════════════════════════════════════════
   集合网格页 /collections（照抄源站内联样式）
   每张卡片统一 1:1 方形图片框；ORECO 两张用 contain + 10% 内边距
   ═══════════════════════════════════════════════════════ */
.collection-grid-item { display: flex; flex-direction: column; height: 100%; width: 100%; }
.collection-grid-item__link { display: flex; flex-direction: column; height: 100%; width: 100%; }
.collection-grid-item__overlay {
	position: relative; width: 100%; height: 0; padding-top: 100%; /* 1:1 square frame */
	overflow: hidden; background: #f4f4f4;
}
.collection-grid-item__overlay > img,
.collection-grid-item__overlay > svg,
.collection-grid-item__overlay > .placeholder-svg,
.collection-grid-item__image {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	max-width: none; object-fit: cover; object-position: center;
}
.collection-grid-item__title-wrapper { flex: 0 0 auto; }
.collection-grid-item--oreco .collection-grid-item__overlay { background: #ffffff; }
.collection-grid-item--oreco .collection-grid-item__overlay > img,
.collection-grid-item--oreco .collection-grid-item__image {
	object-fit: contain; object-position: center; padding: 10%;
}

/* ── 23. 购物车页 /cart（1:1 复刻源站 Shopify 自绘购物车） ──
   源站 .cart__image 加载的是 Shopify 150px 宽缩略图（150x 等比），
   文件即显示尺寸（如 150x698）；本地图片文件更大（300/600px 宽），
   会被 Bootstrap 的 max-width:100% 拉伸到列宽 → 行高被撑爆。
   此处用 CSS 锁定同样的 150px 宽等比显示，效果与源站完全一致。 */
.cart-section .cart .cart__layout_left .cart__body .cart__image-wrapper .cart__image {
	width: 150px;
	height: auto;
	object-fit: contain;
}
