/*
 * 首页 VC 第 3 行及以下版块（仅静态首页）。
 * 由 buildbarn-header-rocket-compat.php 在 wp_head / wp_footer 以内联 <style> 输出。
 *
 * 选择器：html body.home.bb-home-layout-v2 — 高于 Porto/VC 的 body.home #main 内联，并覆盖历史上 RUCSS 里
 * 「html body #main … 1320px」的旧快照（否则仓库改了文件，前台仍像没改）。
 *
 * 勿用 :nth-child 选顶层 .vc_row（VC 行间换行会产生文本节点）；已用 :nth-of-type。
 *
 * 宽度：不对 .porto-wrap-container.container 再叠一层 max-width（尤其勿写 1320/1140/960），
 * 宽度交给 Bootstrap .container + Porto 变量；此处只加卡片面（圆角/阴影/内边距），避免比第 1～2 行更窄。
 *
 * 产品网格：仅对「纯商品」列表用 CSS Grid；含 li.product-category 的类目短代码保留 Porto 的 flex + ccols-*，避免下半区类目被 grid 压扁/裁切。
 */

html body.home.bb-home-layout-v2 {
	--bb-home-ease: cubic-bezier(0.22, 1, 0.36, 1);
	/* 板块之间：原上下各约 2.25–3.75rem，叠加后间距偏大；收紧为约 1.35–2.35rem/侧 */
	--bb-home-section-gap: clamp(1.35rem, 3.2vw, 2.35rem);
	--bb-home-card-inset-y: clamp(0.95rem, 2.2vw, 1.5rem);
	--bb-home-card-inset-x: clamp(0.4rem, 1vw, 0.75rem);
	--bb-home-card-bg: linear-gradient(165deg, #ffffff 0%, #fafaf9 50%, #f0f0ee 100%);
	--bb-home-card-border: rgba(69, 69, 69, 0.08);
	--bb-home-card-shadow:
		0 2px 4px rgba(42, 42, 42, 0.04),
		0 14px 40px rgba(42, 42, 42, 0.07),
		inset 0 1px 0 rgba(255, 255, 255, 0.95);
	--bb-home-card-shadow-hover:
		0 8px 16px rgba(42, 42, 42, 0.06),
		0 26px 52px rgba(42, 42, 42, 0.11),
		inset 0 1px 0 #ffffff;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3),
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) {
	margin-top: 0 !important;
	padding-top: var(--bb-home-section-gap) !important;
	padding-bottom: var(--bb-home-section-gap) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(2n+3),
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(2n+3) {
	background: linear-gradient(165deg, #e8e8e6 0%, #e0e0de 52%, #d8d8d6 100%) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(2n+4),
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(2n+4) {
	background: linear-gradient(165deg, #f4f4f2 0%, #ededeb 55%, #e6e6e4 100%) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container {
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	border-radius: 22px !important;
	border: 1px solid rgba(69, 69, 69, 0.1) !important;
	background: linear-gradient(180deg, #ffffff 0%, #fafaf9 100%) !important;
	box-shadow:
		0 2px 4px rgba(42, 42, 42, 0.04),
		0 28px 64px rgba(42, 42, 42, 0.09),
		0 0 0 1px rgba(255, 255, 255, 0.88) inset !important;
	padding: var(--bb-home-card-inset-y) var(--bb-home-card-inset-x) !important;
	overflow: visible !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container::before,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 5px !important;
	background: linear-gradient(
		180deg,
		var(--porto-primary-color, #454545) 0%,
		var(--porto-secondary-color, #6b6560) 100%
	) !important;
	pointer-events: none !important;
	border-radius: 22px 0 0 22px !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container > .row > [class*="col-"],
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container > .row > [class*="col-"],
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container {
	min-width: 0 !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_custom_heading.vc_do_custom_heading,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_custom_heading.vc_do_custom_heading {
	font-family: inherit !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) h2.vc_custom_heading,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) h2.vc_custom_heading,
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) h3.vc_custom_heading:not(.text-uppercase),
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) h3.vc_custom_heading:not(.text-uppercase) {
	font-size: clamp(1.3rem, 2.4vw, 1.65rem) !important;
	line-height: 1.25 !important;
	color: var(--bb-text-primary, #221d18) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .heading.heading-border .heading-tag,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .heading.heading-border .heading-tag {
	letter-spacing: 0.18em !important;
	font-size: 0.72rem !important;
	color: var(--porto-primary-color, #454545) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .wpb_text_column,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .wpb_text_column,
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .wpb_text_column p,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .wpb_text_column p {
	font-size: 15px !important;
	line-height: 1.68 !important;
	color: #4a4a4a !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-separator .separator-line,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-separator .separator-line {
	border: none !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, rgba(69, 69, 69, 0.18), transparent) !important;
	opacity: 1 !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid:not(:has(> li.product-category)),
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid:not(:has(> li.product-category)) {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)) !important;
	gap: 0.95rem 1rem !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	align-items: stretch !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	margin: 0 !important;
	float: none !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .product-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .product-inner {
	background: var(--bb-home-card-bg) !important;
	border: 1px solid var(--bb-home-card-border) !important;
	border-radius: 18px !important;
	box-shadow: var(--bb-home-card-shadow) !important;
	overflow: hidden !important;
	transition:
		transform 0.45s var(--bb-home-ease),
		box-shadow 0.45s ease,
		border-color 0.3s ease !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-inner {
	transform: translateY(-5px) !important;
	border-color: rgba(69, 69, 69, 0.14) !important;
	box-shadow: var(--bb-home-card-shadow-hover) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .product-image img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .product-image img,
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .product-image .inner img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .product-image .inner img {
	transition: transform 0.65s var(--bb-home-ease) !important;
	backface-visibility: hidden !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-image img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-image img,
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-image .inner img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-image .inner img {
	transform: scale(1.06) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .woocommerce-loop-product__title,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .woocommerce-loop-product__title {
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	color: var(--bb-text-primary, #221d18) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .price,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .price {
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item > *,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item > * {
	border-radius: 18px !important;
	box-shadow: var(--bb-home-card-shadow) !important;
	overflow: visible !important;
	transition: transform 0.45s var(--bb-home-ease), box-shadow 0.45s ease !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item img,
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item .thumb-info,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item .thumb-info {
	border-radius: 18px !important;
	overflow: hidden !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item:hover > *,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item:hover > * {
	transform: translateY(-5px) !important;
	box-shadow: var(--bb-home-card-shadow-hover) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-ibanner:not(.m-l-n-xl),
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-ibanner:not(.m-l-n-xl),
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .interactive-banner-wrap:not(.m-l-n-xl),
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .interactive-banner-wrap:not(.m-l-n-xl) {
	border-radius: 18px !important;
	overflow: hidden !important;
	border: 1px solid rgba(69, 69, 69, 0.07) !important;
	box-shadow: var(--bb-home-card-shadow) !important;
	transition: transform 0.45s var(--bb-home-ease), box-shadow 0.45s ease !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-ibanner:not(.m-l-n-xl):hover,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-ibanner:not(.m-l-n-xl):hover,
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .interactive-banner-wrap:not(.m-l-n-xl):hover,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .interactive-banner-wrap:not(.m-l-n-xl):hover {
	transform: translateY(-3px) !important;
	box-shadow: var(--bb-home-card-shadow-hover) !important;
}

/*
 * 通栏条原带 .m-l-n-xl 负边距顶满容器：取消负边距并套上与商品卡一致的圆角/描边/阴影，使其落在白卡片内、视觉成块。
 */
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-ibanner.m-l-n-xl.home-percent-banner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-ibanner.m-l-n-xl.home-percent-banner {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	border-radius: 18px !important;
	border: 1px solid var(--bb-home-card-border) !important;
	box-shadow: var(--bb-home-card-shadow) !important;
	overflow: hidden !important;
	transition: transform 0.45s var(--bb-home-ease), box-shadow 0.45s ease !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-ibanner.m-l-n-xl.home-percent-banner:hover,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-ibanner.m-l-n-xl.home-percent-banner:hover {
	transform: translateY(-2px) !important;
	box-shadow: var(--bb-home-card-shadow-hover) !important;
}

/*
 * 第 1～2 行「类目卡片区」内 mega sale 等小横幅：nth-of-type(n+3) 未命中时单独补框，与全站卡片一致。
 */
html body.home.bb-home-layout-v2 #main .pc-home-category-banner .porto-ibanner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .pc-home-category-banner .porto-ibanner {
	border-radius: 18px !important;
	overflow: hidden !important;
	border: 1px solid var(--bb-home-card-border) !important;
	box-shadow: var(--bb-home-card-shadow) !important;
	transition: transform 0.45s var(--bb-home-ease), box-shadow 0.45s ease !important;
}

html body.home.bb-home-layout-v2 #main .pc-home-category-banner .porto-ibanner:hover,
html body.home.bb-home-layout-v2 #bb-home-layout-root .pc-home-category-banner .porto-ibanner:hover {
	transform: translateY(-3px) !important;
	box-shadow: var(--bb-home-card-shadow-hover) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-sicon-box .porto-sicon-title,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-sicon-box .porto-sicon-title {
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	font-size: 0.72rem !important;
}

html body.home.bb-home-layout-v2 #main .features-slider .porto-sicon-box,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider .porto-sicon-box {
	background: var(--bb-home-card-bg) !important;
	border: 1px solid var(--bb-home-card-border) !important;
	border-radius: 16px !important;
	padding: 1.15rem 1rem 1.25rem !important;
	box-shadow: var(--bb-home-card-shadow) !important;
	transition: transform 0.45s var(--bb-home-ease), box-shadow 0.45s ease !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

html body.home.bb-home-layout-v2 #main .features-slider .porto-sicon-box:hover,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider .porto-sicon-box:hover {
	transform: translateY(-3px) !important;
	box-shadow: var(--bb-home-card-shadow-hover) !important;
}

html body.home.bb-home-layout-v2 #main .features-slider .porto-sicon-header p,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider .porto-sicon-header p {
	color: rgba(69, 69, 69, 0.72) !important;
	line-height: 1.5 !important;
}

/* 四条服务条：图标区统一高度与居中，与文字纵列对齐（不覆盖 Porto/Owl 轮播逻辑） */
html body.home.bb-home-layout-v2 #main .features-slider .porto-sicon-default,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider .porto-sicon-default {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 44px !important;
	width: 100% !important;
	margin: 0 auto !important;
}

html body.home.bb-home-layout-v2 #main .features-slider .porto-just-icon-wrapper.porto-icon,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider .porto-just-icon-wrapper.porto-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 auto !important;
}

html body.home.bb-home-layout-v2 #main .features-slider .porto-sicon-header,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider .porto-sicon-header {
	width: 100% !important;
	text-align: center !important;
}

/*
 * FAST ARRANGE 等四条：不依赖「第几行 vc_row」；Porto data loop=yes 会克隆节点 + Owl 只露一项时，
 * 用 grid + 关 loop（PHP）保证四条始终可见。
 */
html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel:not(.owl-loaded),
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel:not(.owl-loaded) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0.5rem !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel .owl-stage-outer,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel .owl-stage-outer {
	overflow: visible !important;
}

html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel .owl-stage,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel .owl-stage {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0.5rem !important;
	width: 100% !important;
	max-width: 100% !important;
	transform: none !important;
	transition: none !important;
	margin-left: 0 !important;
}

html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel .owl-item.cloned,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel .owl-item.cloned {
	display: none !important;
}

html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel .owl-item,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel .owl-item {
	display: flex !important;
	align-items: stretch !important;
	float: none !important;
	opacity: 1 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel .owl-item .porto-sicon-box,
html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel .owl-item .porto-sicon-box {
	flex: 1 1 auto !important;
	width: 100% !important;
	min-height: 0 !important;
}

@media (max-width: 991px) {
	html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel:not(.owl-loaded),
	html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel:not(.owl-loaded),
	html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel .owl-stage,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel .owl-stage {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 575px) {
	html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel:not(.owl-loaded),
	html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel:not(.owl-loaded),
	html body.home.bb-home-layout-v2 #main .features-slider.porto-carousel.owl-carousel .owl-stage,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .features-slider.porto-carousel.owl-carousel .owl-stage {
		grid-template-columns: 1fr !important;
	}
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) h2.section-title,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) h2.section-title {
	font-size: clamp(1.1rem, 2.1vw, 1.4rem) !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	margin-bottom: 0.85rem !important;
	padding-bottom: 0.55rem !important;
	color: var(--bb-text-primary, #221d18) !important;
	border-bottom: 1px solid rgba(69, 69, 69, 0.1) !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .products-filter .product-categories a,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .products-filter .product-categories a {
	border-radius: 999px !important;
	padding: 0.35rem 0.85rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	transition: background 0.25s ease, color 0.25s ease !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .products-filter .product-categories li.current a,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .products-filter .product-categories li.current a {
	background: rgba(69, 69, 69, 0.09) !important;
	color: var(--porto-primary-color, #454545) !important;
	font-weight: 600 !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_row.vc_inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_row.vc_inner {
	margin-bottom: 1rem !important;
}

@media (max-width: 991px) {
	html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3),
	html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) {
		padding-top: 1.25rem !important;
		padding-bottom: 1.25rem !important;
	}

	html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container {
		border-radius: 18px !important;
		padding: 0.95rem 0.65rem !important;
	}

	html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid:not(:has(> li.product-category)),
	html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid:not(:has(> li.product-category)) {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
		gap: 0.85rem !important;
	}
}

/*
 * GARDEN MATERIALS 类目网格：隐藏子分类树（ul.sub-categories / ul.children），只保留主类目名 + 数量。
 * 不依赖 .background-color-light（后台若去掉该类名仍会隐藏），避免 Decking 等下出现「目录清单」感。
 */
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper .porto-products.cat-list.cat-medium li.product-category .thumb-info-title .sub-categories,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper .porto-products.cat-list.cat-medium li.product-category .thumb-info-title .sub-categories {
	display: none !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper .porto-products.cat-list.cat-medium .thumb-info-title,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper .porto-products.cat-list.cat-medium .thumb-info-title {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	gap: 0.45rem !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper .porto-products.cat-list.cat-medium .thumb-info-title > a,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper .porto-products.cat-list.cat-medium .thumb-info-title > a {
	order: 1 !important;
	text-decoration: none !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper .porto-products.cat-list.cat-medium .thumb-info-title > .thumb-info-type,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper .porto-products.cat-list.cat-medium .thumb-info-title > .thumb-info-type {
	order: 2 !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper .porto-products.cat-list.cat-medium .thumb-info-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper .porto-products.cat-list.cat-medium .thumb-info-inner {
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
}

/*
 * GARDEN MATERIALS：仅保留大图 + 主类目名 + 数量；隐藏 .sub-categories。
 * 高端向：白卡、轻阴影、图片悬停微缩放、标题与数量层级分明。
 */
html body.home.bb-home-layout-v2 #main .background-color-light .wpb_wrapper:has(> .porto-products.cat-list.cat-medium) > h2.vc_custom_heading,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .wpb_wrapper:has(> .porto-products.cat-list.cat-medium) > h2.vc_custom_heading {
	font-size: clamp(1.2rem, 2.5vw, 1.55rem) !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em !important;
	margin-bottom: 1.15rem !important;
	padding-bottom: 0.65rem !important;
	color: var(--bb-text-primary, #221d18) !important;
	border-bottom: 1px solid rgba(69, 69, 69, 0.12) !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info {
	background: linear-gradient(165deg, #ffffff 0%, #fafaf9 55%, #f0f0ee 100%) !important;
	border-radius: 20px !important;
	padding: 0.7rem 0.7rem 1.15rem !important;
	border: 1px solid rgba(69, 69, 69, 0.08) !important;
	box-shadow:
		0 2px 4px rgba(42, 42, 42, 0.03),
		0 12px 40px rgba(42, 42, 42, 0.07),
		inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
	transition:
		transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.4s ease,
		border-color 0.3s ease !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info:hover,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info:hover {
	transform: translateY(-5px) !important;
	border-color: rgba(69, 69, 69, 0.14) !important;
	box-shadow:
		0 4px 8px rgba(42, 42, 42, 0.05),
		0 24px 48px rgba(42, 42, 42, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info-wrapper,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info-wrapper {
	aspect-ratio: 1 !important;
	overflow: hidden !important;
	border-radius: 14px !important;
	background: linear-gradient(145deg, rgba(69, 69, 69, 0.06) 0%, rgba(69, 69, 69, 0.02) 100%) !important;
	box-shadow: inset 0 0 0 1px rgba(69, 69, 69, 0.06) !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info-wrapper img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info-wrapper img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1) !important;
	backface-visibility: hidden !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info:hover .thumb-info-wrapper img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium li.product-category .thumb-info:hover .thumb-info-wrapper img {
	transform: scale(1.06) !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium .thumb-info-wrap,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium .thumb-info-wrap {
	padding-top: 1rem !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	gap: 0.35rem !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > a,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > a {
	order: 1 !important;
	text-decoration: none !important;
	transition: color 0.25s ease !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > a:hover .thumb-info-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > a:hover .thumb-info-inner {
	color: var(--porto-secondary-color, #6b6560) !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > .sub-categories,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > .sub-categories {
	display: none !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > .thumb-info-type,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > .thumb-info-type {
	order: 2 !important;
	margin-top: 0.15rem !important;
	font-size: 0.6875rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: rgba(69, 69, 69, 0.55) !important;
	font-variant-numeric: tabular-nums !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > .thumb-info-type mark.count,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium .thumb-info-title > .thumb-info-type mark.count {
	background: transparent !important;
	color: inherit !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
}

html body.home.bb-home-layout-v2 #main .background-color-light .porto-products.cat-list.cat-medium .thumb-info-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .background-color-light .porto-products.cat-list.cat-medium .thumb-info-inner {
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
	color: var(--bb-text-primary, #221d18) !important;
}

/*
 * 首页第 1 行：SEO 首屏（标题 + 引言）
 */
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(1) .buildbarn-home-seo-intro h1,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(1) .buildbarn-home-seo-intro h1,
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(1) h1.vc_custom_heading,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(1) h1.vc_custom_heading {
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	color: var(--bb-text-primary, #221d18) !important;
	line-height: 1.15 !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(1) .wpb_text_column p,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(1) .wpb_text_column p {
	font-size: 1.05rem !important;
	line-height: 1.65 !important;
	color: #4a4a4a !important;
	max-width: 46rem !important;
}

/*
 * 首页第 2 行：首屏类目网格（与 GARDEN 同系卡片，不隐藏子分类）
 */
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info {
	background: var(--bb-home-card-bg) !important;
	border-radius: 20px !important;
	padding: 0.65rem 0.65rem 1rem !important;
	border: 1px solid var(--bb-home-card-border) !important;
	box-shadow: var(--bb-home-card-shadow) !important;
	transition: transform 0.45s var(--bb-home-ease), box-shadow 0.45s ease !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info:hover,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info:hover {
	transform: translateY(-4px) !important;
	box-shadow: var(--bb-home-card-shadow-hover) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info-wrapper,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info-wrapper {
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: inset 0 0 0 1px rgba(69, 69, 69, 0.06) !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info-wrapper img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info-wrapper img {
	transition: transform 0.65s var(--bb-home-ease) !important;
	backface-visibility: hidden !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info:hover .thumb-info-wrapper img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(2) li.product-category .thumb-info:hover .thumb-info-wrapper img {
	transform: scale(1.05) !important;
}

/*
 * 第 3 行内嵌区块：含「Special Offers」等，商品列表不在顶层 n+3 选择器子级时仍落在 #main 内 —— 已用后代选择器覆盖。
 * 补充：顶层第 3 行内 .top-sale-product 单卡强调
 */
html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .top-sale-product li.product .product-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .top-sale-product li.product .product-inner {
	border-radius: 18px !important;
	box-shadow: var(--bb-home-card-shadow) !important;
	border: 1px solid var(--bb-home-card-border) !important;
	overflow: visible !important;
	transition: transform 0.45s var(--bb-home-ease), box-shadow 0.45s ease !important;
}

html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .top-sale-product li.product:hover .product-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .top-sale-product li.product:hover .product-inner {
	transform: translateY(-4px) !important;
	box-shadow: var(--bb-home-card-shadow-hover) !important;
}

/*
 * Special Offers（.porto-products.top-sale-product）：Porto `product-outimage_*` 默认为左右分栏，侧栏/窄屏内标题与价格易被裁切。
 * 强制为「上图下文」单列，与 Collection 主商品区视觉一致、信息完整可见。
 */
html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product li.product .product-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product li.product .product-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	flex-wrap: nowrap !important;
}

html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product .product-image,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product .product-image {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	flex: 0 0 auto !important;
}

html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product .product-content,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product .product-content,
html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product .product-details,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product .product-details {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: block !important;
	clear: both !important;
}

html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product .product-inner .product-image,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product .product-inner .product-image {
	display: block !important;
}

html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product ul.products,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product ul.products {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product ul.products > li.product,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product ul.products > li.product {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	float: none !important;
}

/*
 * 首页 Porto Interactive Banner：修正图片拉伸/裁切不当，减轻叠字被背景「吃掉」。
 * 通栏全宽条（.m-l-n-xl）单独比例；无字备用横幅：assets/buildbarn-home-banner-abstract-hero.svg 上传媒体库后在 VC 中替换原图。
 */
html body.home.bb-home-layout-v2 #main .porto-ibanner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	overflow: hidden !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner:not(.m-l-n-xl),
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner:not(.m-l-n-xl) {
	aspect-ratio: 16 / 9 !important;
	min-height: 11rem !important;
	max-height: 22rem !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner.m-l-n-xl,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner.m-l-n-xl {
	aspect-ratio: 21 / 9 !important;
	min-height: 10rem !important;
	max-height: 18rem !important;
}

@media (max-width: 767px) {
	html body.home.bb-home-layout-v2 #main .porto-ibanner:not(.m-l-n-xl),
	html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner:not(.m-l-n-xl) {
		aspect-ratio: 4 / 3 !important;
		max-height: 20rem !important;
	}

	html body.home.bb-home-layout-v2 #main .porto-ibanner.m-l-n-xl,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner.m-l-n-xl {
		aspect-ratio: 16 / 9 !important;
		max-height: 16rem !important;
	}
}

html body.home.bb-home-layout-v2 #main .porto-ibanner .porto-ibanner-img,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner .porto-ibanner-img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
	display: block !important;
	z-index: 0 !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner .porto-ibanner-desc,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner .porto-ibanner-desc {
	z-index: 2 !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner .porto-ibanner-layer,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner .porto-ibanner-layer {
	max-width: min(96%, 28rem) !important;
	padding: 0.65rem 0.85rem !important;
	border-radius: 14px !important;
	box-sizing: border-box !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner .porto-ibanner-layer .heading-light,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner .porto-ibanner-layer .heading-light {
	text-shadow:
		0 1px 2px rgba(0, 0, 0, 0.55),
		0 4px 20px rgba(0, 0, 0, 0.45) !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner .porto-ibanner-layer .vc_custom_heading:not(.heading-light),
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner .porto-ibanner-layer .vc_custom_heading:not(.heading-light) {
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.65) !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner .porto-ibanner-layer .text-nowrap,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner .porto-ibanner-layer .text-nowrap {
	white-space: normal !important;
}

@media (min-width: 992px) {
	html body.home.bb-home-layout-v2 #main .porto-ibanner .porto-ibanner-layer .text-nowrap,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner .porto-ibanner-layer .text-nowrap {
		white-space: nowrap !important;
	}
}

html body.home.bb-home-layout-v2 #main .porto-ibanner::before,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	pointer-events: none !important;
	background: linear-gradient(
		180deg,
		rgba(15, 20, 25, 0.05) 0%,
		transparent 45%,
		rgba(15, 20, 25, 0.32) 100%
	) !important;
	border-radius: inherit !important;
}

/*
 * 首页通栏促销条：隐藏 VC 叠字（GIFT SELECTION / 20% OFF / Amazing Collection / $699 / limited time 等），仅保留底图。
 * 文案仍在 HTML 中（SEO 如需彻底删除请在后台编辑该 Interactive Banner 元素）。
 */
html body.home.bb-home-layout-v2 #main .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="retaining wall"]) .porto-ibanner-desc,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="retaining wall"]) .porto-ibanner-desc,
html body.home.bb-home-layout-v2 #main .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="amazing collection"]) .porto-ibanner-desc,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="amazing collection"]) .porto-ibanner-desc {
	display: none !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="retaining wall"])::before,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="retaining wall"])::before,
html body.home.bb-home-layout-v2 #main .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="amazing collection"])::before,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="amazing collection"])::before {
	display: none !important;
}

/*
 * 分类卡片区「mega sale」小横幅：隐藏 MEGA SALE / 70% OFF / STARTING AT $… 等叠字，仅保留图。
 */
html body.home.bb-home-layout-v2 #main .porto-ibanner:has(.porto-ibanner-img[alt*="mega sale"]) .porto-ibanner-desc,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner:has(.porto-ibanner-img[alt*="mega sale"]) .porto-ibanner-desc {
	display: none !important;
}

html body.home.bb-home-layout-v2 #main .porto-ibanner:has(.porto-ibanner-img[alt*="mega sale"])::before,
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner:has(.porto-ibanner-img[alt*="mega sale"])::before {
	display: none !important;
}

/*
 * 通栏 retaining wall 图紧贴上方的商品列表：增加顶距（与上方区块拉开）。
 */
html body.home.bb-home-layout-v2 #main .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="retaining wall"]),
html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-ibanner.home-percent-banner:has(.porto-ibanner-img[alt*="retaining wall"]) {
	margin-top: clamp(0.65rem, 2vw, 1.25rem) !important;
}

/*
 * Collection 右侧「Special Offers」：与主栏同属 `.vc_row:nth-of-type(n+3)`，曾误套上方
 * `ul.products.grid` 的 CSS Grid（minmax(220px/150px)），在 col-lg-3 窄栏内被裁成「半屏」。
 * 已从主选择器中排除 `.vc_custom_1596505418234`；此处为侧栏商品列表单列竖排兜底。
 */
html body.home.bb-home-layout-v2 #main .vc_column_container.vc_custom_1596505418234 ul.products.products-container.grid,
html body.home.bb-home-layout-v2 #bb-home-layout-root .vc_column_container.vc_custom_1596505418234 ul.products.products-container.grid {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	grid-template-columns: unset !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

html body.home.bb-home-layout-v2 #main .vc_column_container.vc_custom_1596505418234 ul.products.products-container.grid > li.product,
html body.home.bb-home-layout-v2 #bb-home-layout-root .vc_column_container.vc_custom_1596505418234 ul.products.products-container.grid > li.product {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	margin: 0 !important;
	float: none !important;
}

/* Woo 小工具：与 site-ui 一致，覆盖 Porto ccols 在侧栏内的 2 列宽度 */
html body.home.bb-home-layout-v2 #main .vc_column_container.vc_custom_1596505418234 .vc_widget_woo_products ul.products,
html body.home.bb-home-layout-v2 #bb-home-layout-root .vc_column_container.vc_custom_1596505418234 .vc_widget_woo_products ul.products {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	width: 100% !important;
	max-width: 100% !important;
}

html body.home.bb-home-layout-v2 #main .vc_column_container.vc_custom_1596505418234 .vc_widget_woo_products ul.products > li.product,
html body.home.bb-home-layout-v2 #bb-home-layout-root .vc_column_container.vc_custom_1596505418234 .vc_widget_woo_products ul.products > li.product {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	flex-basis: 100% !important;
	float: none !important;
}

html body.home.bb-home-layout-v2 #main .vc_column_container.vc_custom_1596505418234 .vc_widget_woo_products ul.products > li.product .product-inner,
html body.home.bb-home-layout-v2 #bb-home-layout-root .vc_column_container.vc_custom_1596505418234 .vc_widget_woo_products ul.products > li.product .product-inner {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

@media (max-width: 1199.98px) {
	html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product .woocommerce ul.products,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product .woocommerce ul.products,
	html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product ul.products,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product ul.products {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product ul.products > li.product,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product ul.products > li.product {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		flex-basis: 100% !important;
		float: none !important;
	}

	html body.home.bb-home-layout-v2 #main .porto-products.top-sale-product ul.products > li.product .product-inner,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .porto-products.top-sale-product ul.products > li.product .product-inner {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 1199.98px) {
	html body.home.bb-home-layout-v2 #main .vc_column_container.background-color-light.p-t-lg.p-l-xl.p-r-xl.col-md-12.col-lg-9,
	html body.home.bb-home-layout-v2 #main .vc_column_container.vc_custom_1596505418234,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .vc_column_container.background-color-light.p-t-lg.p-l-xl.p-r-xl.col-md-12.col-lg-9,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .vc_column_container.vc_custom_1596505418234 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		min-width: 0 !important;
	}
}

/* --------------------------------------------------------------------------
 * BuildBarn homepage redesign shell
 * -------------------------------------------------------------------------- */
html body.home.bb-home-layout-v2,
html body.home.bb-home-layout-v2 #main,
html body.home.bb-home-layout-v2 #bb-home-layout-root {
	background:
		radial-gradient(circle at top left, rgba(168, 129, 84, 0.1), transparent 34%),
		linear-gradient(180deg, #f8f3ed 0%, #f4efe8 34%, #f7f4ef 100%) !important;
}

html body.home.bb-home-layout-v2 #bb-home-layout-root > :not(.bb-home-shell) {
	display: none !important;
}

html body.home.bb-home-layout-v2 #bb-home-layout-root {
	padding: 0 0 5rem !important;
}

html body.home.bb-home-layout-v2 .bb-home-shell {
	--bb-home-text: #221d18;
	--bb-home-muted: #66594b;
	--bb-home-border: rgba(102, 89, 75, 0.14);
	--bb-home-panel: rgba(255, 252, 247, 0.84);
	--bb-home-panel-strong: #fffdf9;
	--bb-home-accent: #8f5f35;
	--bb-home-accent-dark: #6f4521;
	--bb-home-shadow:
		0 16px 44px rgba(48, 36, 25, 0.08),
		0 1px 0 rgba(255, 255, 255, 0.68) inset;
	color: var(--bb-home-text);
}

html body.home.bb-home-layout-v2 .bb-home-container {
	width: min(1320px, calc(100% - 32px));
	margin: 0 auto;
}

html body.home.bb-home-layout-v2 .bb-home-section,
html body.home.bb-home-layout-v2 .bb-home-hero,
html body.home.bb-home-layout-v2 .bb-home-trustbar {
	padding: clamp(1.25rem, 2.4vw, 2rem) 0;
}

html body.home.bb-home-layout-v2 .bb-home-section--warm {
	padding-top: clamp(1.6rem, 3vw, 2.5rem);
}

html body.home.bb-home-layout-v2 .bb-home-section--accent,
html body.home.bb-home-layout-v2 .bb-home-section--final {
	padding-top: clamp(1.8rem, 3.6vw, 3rem);
}

html body.home.bb-home-layout-v2 .bb-home-eyebrow {
	margin: 0 0 0.85rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bb-home-accent);
}

html body.home.bb-home-layout-v2 .bb-home-lead,
html body.home.bb-home-layout-v2 .bb-home-section__heading p,
html body.home.bb-home-layout-v2 .bb-home-why-copy > p,
html body.home.bb-home-layout-v2 .bb-home-delivery-card p,
html body.home.bb-home-layout-v2 .bb-home-cta-band p,
html body.home.bb-home-layout-v2 .bb-home-final-cta p,
html body.home.bb-home-layout-v2 .bb-site-footer__brand p {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--bb-home-muted);
}

html body.home.bb-home-layout-v2 .bb-home-hero__grid,
html body.home.bb-home-layout-v2 .bb-home-why-grid,
html body.home.bb-home-layout-v2 .bb-home-delivery-grid,
html body.home.bb-home-layout-v2 .bb-home-cta-band,
html body.home.bb-home-layout-v2 .bb-home-final-cta {
	display: grid;
	gap: 1.5rem;
}

html body.home.bb-home-layout-v2 .bb-home-hero__grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: center;
	padding: clamp(1.2rem, 2vw, 1.75rem);
	border: 1px solid var(--bb-home-border);
	border-radius: 28px;
	background:
		linear-gradient(160deg, rgba(255, 255, 255, 0.8), rgba(246, 238, 228, 0.86)),
		var(--bb-home-panel);
	box-shadow: var(--bb-home-shadow);
}

html body.home.bb-home-layout-v2 .bb-home-hero__content h1,
html body.home.bb-home-layout-v2 .bb-home-section__heading h2,
html body.home.bb-home-layout-v2 .bb-home-why-copy h2,
html body.home.bb-home-layout-v2 .bb-home-cta-band h2,
html body.home.bb-home-layout-v2 .bb-home-final-cta h2,
html body.home.bb-home-layout-v2 .bb-site-footer__brand h2 {
	margin: 0;
	letter-spacing: -0.035em;
	color: #1e1914;
}

html body.home.bb-home-layout-v2 .bb-home-hero__content h1 {
	font-size: clamp(2.45rem, 5vw, 4.5rem);
	line-height: 1.02;
	max-width: 12ch;
}

html body.home.bb-home-layout-v2 .bb-home-section__heading h2,
html body.home.bb-home-layout-v2 .bb-home-why-copy h2,
html body.home.bb-home-layout-v2 .bb-home-cta-band h2,
html body.home.bb-home-layout-v2 .bb-home-final-cta h2,
html body.home.bb-home-layout-v2 .bb-site-footer__brand h2 {
	font-size: clamp(1.85rem, 3vw, 3rem);
	line-height: 1.08;
}

html body.home.bb-home-layout-v2 .bb-home-hero__actions,
html body.home.bb-home-layout-v2 .bb-home-cta-band__actions,
html body.home.bb-home-layout-v2 .bb-home-final-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.35rem;
}

html body.home.bb-home-layout-v2 .bb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0.8rem 1.3rem;
	border-radius: 16px;
	border: 1px solid transparent;
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	transition:
		transform 0.16s ease,
		box-shadow 0.16s ease,
		background 0.16s ease,
		color 0.16s ease,
		border-color 0.16s ease;
}

html body.home.bb-home-layout-v2 .bb-btn:hover {
	transform: translateY(-1px);
}

html body.home.bb-home-layout-v2 .bb-btn--primary {
	background: linear-gradient(135deg, var(--bb-home-accent), var(--bb-home-accent-dark));
	color: #fff !important;
	box-shadow: 0 18px 32px rgba(111, 69, 33, 0.22);
}

html body.home.bb-home-layout-v2 .bb-btn--secondary,
html body.home.bb-home-layout-v2 .bb-btn--ghost {
	border-color: rgba(111, 69, 33, 0.18);
	background: rgba(255, 255, 255, 0.72);
	color: #2d241d !important;
}

html body.home.bb-home-layout-v2 .bb-home-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--bb-home-accent-dark) !important;
	text-decoration: none !important;
}

html body.home.bb-home-layout-v2 .bb-home-link::after {
	content: "->";
	font-size: 0.92em;
}

html body.home.bb-home-layout-v2 .bb-home-hero__highlights,
html body.home.bb-home-layout-v2 .bb-home-checklist {
	display: grid;
	gap: 0.7rem;
	margin: 1.35rem 0 0;
	padding: 0;
	list-style: none;
}

html body.home.bb-home-layout-v2 .bb-home-hero__highlights li,
html body.home.bb-home-layout-v2 .bb-home-checklist li {
	position: relative;
	padding-left: 1.35rem;
	color: #3e342b;
	line-height: 1.6;
}

html body.home.bb-home-layout-v2 .bb-home-hero__highlights li::before,
html body.home.bb-home-layout-v2 .bb-home-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72rem;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--bb-home-accent), #cf9868);
	transform: translateY(-50%);
}

html body.home.bb-home-layout-v2 .bb-home-hero__visual {
	display: grid;
	gap: 1rem;
}

html body.home.bb-home-layout-v2 .bb-home-hero__image-wrap {
	position: relative;
	overflow: hidden;
	border-radius: 24px;
	background: linear-gradient(180deg, #f6f0e7 0%, #efe5d6 100%);
	min-height: 420px;
	box-shadow: 0 18px 40px rgba(46, 34, 25, 0.12);
}

html body.home.bb-home-layout-v2 .bb-home-hero__image-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(20, 16, 12, 0.1), rgba(20, 16, 12, 0.38));
}

html body.home.bb-home-layout-v2 .bb-home-hero__image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	display: block;
}

html body.home.bb-home-layout-v2 .bb-home-hero__badge {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	z-index: 2;
	max-width: 280px;
	padding: 1rem 1.05rem;
	border-radius: 20px;
	background: rgba(255, 253, 249, 0.92);
	backdrop-filter: blur(10px);
	box-shadow: 0 12px 28px rgba(31, 24, 18, 0.14);
}

html body.home.bb-home-layout-v2 .bb-home-hero__badge span,
html body.home.bb-home-layout-v2 .bb-home-info-card__label {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--bb-home-accent);
}

html body.home.bb-home-layout-v2 .bb-home-hero__badge strong,
html body.home.bb-home-layout-v2 .bb-home-info-card__value {
	display: block;
	font-size: 1.05rem;
	line-height: 1.35;
	color: #241c16;
}

html body.home.bb-home-layout-v2 .bb-home-hero__aside {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

html body.home.bb-home-layout-v2 .bb-home-info-card,
html body.home.bb-home-layout-v2 .bb-home-category-card,
html body.home.bb-home-layout-v2 .bb-home-product-card,
html body.home.bb-home-layout-v2 .bb-home-mini-panel,
html body.home.bb-home-layout-v2 .bb-home-delivery-card,
html body.home.bb-home-layout-v2 .bb-home-review-card {
	border: 1px solid var(--bb-home-border);
	border-radius: 20px;
	background: var(--bb-home-panel-strong);
	box-shadow: 0 10px 26px rgba(46, 35, 24, 0.06);
}

html body.home.bb-home-layout-v2 .bb-home-info-card {
	padding: 1rem;
}

html body.home.bb-home-layout-v2 .bb-home-info-card__meta {
	margin: 0.45rem 0 0;
	color: var(--bb-home-muted);
	line-height: 1.6;
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__list,
html body.home.bb-home-layout-v2 .bb-home-category-grid,
html body.home.bb-home-layout-v2 .bb-home-feature-grid,
html body.home.bb-home-layout-v2 .bb-home-product-grid,
html body.home.bb-home-layout-v2 .bb-home-review-grid,
html body.home.bb-home-layout-v2 .bb-site-footer__grid {
	display: grid;
	gap: 1rem;
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__item {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid rgba(102, 89, 75, 0.1);
	border-radius: 12px;
	background: rgba(255, 252, 247, 0.92);
	box-shadow: none;
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border-radius: 10px;
	background: rgba(143, 95, 53, 0.1);
	border: 1px solid rgba(143, 95, 53, 0.12);
	box-shadow: none;
	color: #6f4521;
	overflow: hidden;
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__icon svg {
	width: 25px;
	height: 25px;
	display: block;
	flex-shrink: 0;
	fill: currentColor;
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__icon--pin svg {
	width: 28px;
	height: 28px;
	transform: translate(1px, 2px) scale(1.08);
	transform-origin: center;
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__item > div {
	min-width: 0;
	flex: 1 1 auto;
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__item strong {
	display: block;
	font-size: 0.88rem;
	line-height: 1.25;
	color: #271f19;
}

html body.home.bb-home-layout-v2 .bb-home-trustbar__item span {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.78rem;
	color: var(--bb-home-muted);
	line-height: 1.45;
}

html body.home.bb-home-layout-v2 .bb-home-section__heading {
	max-width: 760px;
	margin-bottom: 1.35rem;
}

html body.home.bb-home-layout-v2 .bb-home-section__heading--inline {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	max-width: none;
}

html body.home.bb-home-layout-v2 .bb-home-category-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

html body.home.bb-home-layout-v2 .bb-home-category-card {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	color: inherit !important;
}

html body.home.bb-home-layout-v2 .bb-home-category-card__image {
	aspect-ratio: 5 / 4;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: linear-gradient(180deg, #f8f4ee 0%, #efe5d7 100%);
}

html body.home.bb-home-layout-v2 .bb-home-category-card__image img {
	width: 100%;
	height: 100%;
	padding: 0.35rem;
	object-fit: contain;
	object-position: center center;
	display: block;
}

html body.home.bb-home-layout-v2 .bb-home-category-card__body {
	display: grid;
	gap: 0.55rem;
	padding: 0.85rem 1rem 0.95rem;
}

html body.home.bb-home-layout-v2 .bb-home-category-card__eyebrow,
html body.home.bb-home-layout-v2 .bb-home-product-card__category {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--bb-home-accent);
}

html body.home.bb-home-layout-v2 .bb-home-category-card strong,
html body.home.bb-home-layout-v2 .bb-home-feature-card strong {
	font-size: 1.22rem;
	line-height: 1.24;
	color: #241b15;
}

html body.home.bb-home-layout-v2 .bb-home-category-card span:not(.bb-home-category-card__eyebrow):not(.bb-home-link),
html body.home.bb-home-layout-v2 .bb-home-feature-card span:not(.bb-home-feature-card__label):not(.bb-home-link),
html body.home.bb-home-layout-v2 .bb-home-review-card p {
	color: var(--bb-home-muted);
	line-height: 1.7;
}

html body.home.bb-home-layout-v2 .bb-home-feature-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

html body.home.bb-home-layout-v2 .bb-home-feature-card {
	position: relative;
	min-height: 420px;
	padding: 1.35rem;
	border-radius: 24px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.7rem;
	text-decoration: none !important;
	color: #fff !important;
	background:
		linear-gradient(180deg, rgba(23, 18, 14, 0.12), rgba(23, 18, 14, 0.76)),
		var(--bb-feature-image) center center / contain no-repeat;
	background-color: #efe4d4;
	box-shadow: 0 16px 36px rgba(33, 25, 19, 0.14);
}

html body.home.bb-home-layout-v2 .bb-home-feature-card__label {
	display: inline-flex;
	align-self: flex-start;
	padding: 0.42rem 0.7rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

html body.home.bb-home-layout-v2 .bb-home-feature-card strong,
html body.home.bb-home-layout-v2 .bb-home-feature-card .bb-home-link,
html body.home.bb-home-layout-v2 .bb-home-feature-card span {
	position: relative;
	z-index: 1;
	color: inherit !important;
}

/*
 * Best Sellers：经典纵向卡（上图下文），固定 4:3 裁切区避免图片被「拉扁」；
 * 网格用 minmax 保证每卡有足够宽度，不再做横向挤压式布局。
 */
html body.home.bb-home-layout-v2 .bb-home-product-grid {
	grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr));
	gap: 1rem;
}

@media (min-width: 1200px) {
	html body.home.bb-home-layout-v2 .bb-home-product-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

html body.home.bb-home-layout-v2 .bb-home-product-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 18px !important;
	box-shadow: 0 10px 26px rgba(46, 35, 24, 0.06) !important;
}

html body.home.bb-home-layout-v2 .bb-home-product-card__image {
	display: block;
	aspect-ratio: 4 / 3;
	background: linear-gradient(180deg, #f8f4ee 0%, #efe5d7 100%);
	overflow: hidden;
	flex-shrink: 0;
}

html body.home.bb-home-layout-v2 .bb-home-product-card__image img {
	width: 100%;
	height: 100%;
	padding: 0.15rem;
	object-fit: contain;
	object-position: center;
	transform: scale(1.08);
	transform-origin: center;
	display: block;
}

html body.home.bb-home-layout-v2 .bb-home-product-card__body {
	display: grid;
	gap: 0.55rem;
	padding: 0.85rem 1rem 1.05rem;
	flex: 1 1 auto;
	min-width: 0;
	align-content: start;
}

html body.home.bb-home-layout-v2 .bb-home-product-card h3,
html body.home.bb-home-layout-v2 .bb-home-product-card h3 a {
	margin: 0;
	font-size: clamp(0.92rem, 1.35vw, 1.06rem);
	line-height: 1.28;
	font-weight: 600;
	color: #241b15 !important;
	text-decoration: none !important;
}

html body.home.bb-home-layout-v2 .bb-home-product-card__category {
	font-size: 0.72rem !important;
	margin: 0;
}

html body.home.bb-home-layout-v2 .bb-home-product-card__price {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	color: #1f1813;
	line-height: 1.25;
}

html body.home.bb-home-layout-v2 .bb-home-product-card .bb-btn--ghost {
	min-height: 42px;
	padding: 0.45rem 0.95rem;
	font-size: 0.86rem;
	border-radius: 12px;
	margin-top: 0.2rem;
	justify-self: start;
}

html body.home.bb-home-layout-v2 .bb-home-why-grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	align-items: start;
}

html body.home.bb-home-layout-v2 .bb-home-why-panels {
	display: grid;
	gap: 1rem;
}

html body.home.bb-home-layout-v2 .bb-home-mini-panel,
html body.home.bb-home-layout-v2 .bb-home-delivery-card,
html body.home.bb-home-layout-v2 .bb-home-review-card {
	padding: 1.2rem;
}

html body.home.bb-home-layout-v2 .bb-home-mini-panel strong,
html body.home.bb-home-layout-v2 .bb-home-delivery-card strong,
html body.home.bb-home-layout-v2 .bb-home-review-card strong {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 1.08rem;
	color: #241c15;
}

html body.home.bb-home-layout-v2 .bb-home-mini-panel span {
	color: var(--bb-home-muted);
	line-height: 1.65;
}

html body.home.bb-home-layout-v2 .bb-home-cta-band,
html body.home.bb-home-layout-v2 .bb-home-final-cta {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	padding: clamp(1.35rem, 2vw, 1.8rem);
	border: 1px solid rgba(111, 69, 33, 0.16);
	border-radius: 26px;
	background:
		linear-gradient(135deg, rgba(160, 117, 74, 0.12), rgba(255, 250, 245, 0.84)),
		#fffaf5;
	box-shadow: 0 16px 36px rgba(53, 39, 27, 0.08);
}

html body.home.bb-home-layout-v2 .bb-home-delivery-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

html body.home.bb-home-layout-v2 .bb-home-review-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

html body.home.bb-home-layout-v2 .bb-home-review-card__stars {
	margin-bottom: 0.8rem;
	font-size: 1rem;
	letter-spacing: 0.18em;
	color: #bf8655;
}

html body.home.bb-home-layout-v2 .bb-home-review-card__meta {
	display: grid;
	gap: 0.18rem;
	margin-top: 1rem;
}

html body.home.bb-home-layout-v2 .bb-home-review-card__meta span {
	color: var(--bb-home-muted);
}

@media (max-width: 1199px) {
	html body.home.bb-home-layout-v2 .bb-home-feature-grid,
	html body.home.bb-home-layout-v2 .bb-home-review-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	html body.home.bb-home-layout-v2 .bb-home-product-grid {
		grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
	}

	html body.home.bb-home-layout-v2 .bb-home-why-grid,
	html body.home.bb-home-layout-v2 .bb-home-trustbar__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	html body.home.bb-home-layout-v2 .bb-home-container {
		width: min(100% - 24px, 1320px);
	}

	html body.home.bb-home-layout-v2 .bb-home-hero__grid,
	html body.home.bb-home-layout-v2 .bb-home-section__heading--inline,
	html body.home.bb-home-layout-v2 .bb-home-cta-band,
	html body.home.bb-home-layout-v2 .bb-home-final-cta,
	html body.home.bb-home-layout-v2 .bb-home-delivery-grid {
		grid-template-columns: 1fr;
	}

	html body.home.bb-home-layout-v2 .bb-home-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	html body.home.bb-home-layout-v2 .bb-home-hero__content h1 {
		max-width: none;
	}
}

@media (max-width: 767px) {
	html body.home.bb-home-layout-v2 .bb-home-hero__aside,
	html body.home.bb-home-layout-v2 .bb-home-trustbar__list,
	html body.home.bb-home-layout-v2 .bb-home-category-grid,
	html body.home.bb-home-layout-v2 .bb-home-feature-grid,
	html body.home.bb-home-layout-v2 .bb-home-review-grid,
	html body.home.bb-home-layout-v2 .bb-site-footer__grid {
		grid-template-columns: 1fr;
	}

	html body.home.bb-home-layout-v2 .bb-home-product-grid {
		grid-template-columns: 1fr;
	}

	html body.home.bb-home-layout-v2 .bb-home-hero__image-wrap {
		min-height: 300px;
	}

	html body.home.bb-home-layout-v2 .bb-btn {
		width: 100%;
	}

	html body.home.bb-home-layout-v2 .bb-home-hero__actions,
	html body.home.bb-home-layout-v2 .bb-home-cta-band__actions,
	html body.home.bb-home-layout-v2 .bb-home-final-cta__actions {
		display: grid;
	}
}

@media (max-width: 767px) and (min-width: 400px) {
	html body.home.bb-home-layout-v2 .bb-home-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Mobile performance pass:
 * reduce expensive transform/box-shadow transitions on home cards/carousels.
 */
@media (max-width: 991px) {
	html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) > .porto-wrap-container.container {
		box-shadow: 0 10px 24px rgba(42, 42, 42, 0.06) !important;
	}

	html body.home.bb-home-layout-v2 .bb-home-hero__grid,
	html body.home.bb-home-layout-v2 .bb-home-info-card,
	html body.home.bb-home-layout-v2 .bb-home-category-card,
	html body.home.bb-home-layout-v2 .bb-home-feature-card,
	html body.home.bb-home-layout-v2 .bb-home-collection-card,
	html body.home.bb-home-layout-v2 .bb-home-review-card,
	html body.home.bb-home-layout-v2 .bb-home-delivery-card,
	html body.home.bb-home-layout-v2 .bb-home-cta-band,
	html body.home.bb-home-layout-v2 .bb-home-final-cta,
	html body.home.bb-home-layout-v2 .bb-site-footer__brand {
		box-shadow: 0 6px 16px rgba(42, 42, 42, 0.05) !important;
	}

	html body.home.bb-home-layout-v2 .bb-home-hero__badge,
	html body.home.bb-home-layout-v2 .bb-home-hero__image-wrap::after {
		backdrop-filter: none !important;
		box-shadow: none !important;
	}

	html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .product-inner,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product .product-inner,
	html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item > *,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .porto-carousel.owl-carousel .owl-item > * {
		transition: none !important;
		transform: none !important;
		box-shadow: 0 6px 16px rgba(42, 42, 42, 0.06) !important;
	}

	html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-inner,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-inner,
	html body.home.bb-home-layout-v2 #main .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-image img,
	html body.home.bb-home-layout-v2 #bb-home-layout-root .wpb-content-wrapper > .vc_row:nth-of-type(n+3) .vc_column_container:not(.vc_custom_1596505418234) ul.products.products-container.grid > li.product:hover .product-image img {
		transform: none !important;
		box-shadow: 0 6px 16px rgba(42, 42, 42, 0.06) !important;
	}

	html body.home.bb-home-layout-v2 .bb-home-shell *,
	html body.home.bb-home-layout-v2 .bb-home-shell *::before,
	html body.home.bb-home-layout-v2 .bb-home-shell *::after {
		transition-duration: 0s !important;
		animation-duration: 0s !important;
	}
}

