/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.4.22
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* Comfortable full-bleed: edge-to-edge backgrounds, controlled density */
:root {
	--page-gutter: clamp(16px, 1.8vw, 28px);
	--page-gap: 12px;
	--card-radius: 18px;
}

/* Only lift max-width caps — do NOT force width:100% (breaks Flatsome mobile cols / Customizer) */
#wrapper,
#main,
#content,
.page-wrapper,
.header-wrapper,
.footer-wrapper {
	max-width: 100% !important;
}

.container-width,
.container,
.row,
.row.row-collapse,
.row.row-small,
.row.row-large,
.row-full-width,
.section,
.section-content {
	max-width: 100% !important;
}

.container,
.header .flex-row.container {
	padding-left: var(--page-gutter);
	padding-right: var(--page-gutter);
}

/*
 * Header logo: Flatsome always prints 2–3 <img> tags
 * (.header-logo + .header-logo-dark [+ optional sticky]).
 * Only ONE must be visible — do NOT change #logo display/flex
 * (that breaks medium-logo-center on mobile).
 */
#logo {
	overflow: hidden;
}
#logo a {
	line-height: 0;
}
#logo img.header_logo,
#logo img.header-logo,
#logo img.header-logo-dark,
#logo img.header-logo-sticky {
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
	max-height: 48px !important;
	object-fit: contain;
}
/* Default: hide dark + sticky copies */
#logo img.header-logo-dark,
#logo img.header-logo-sticky {
	display: none !important;
}
#logo img.header_logo,
#logo img.header-logo {
	display: inline-block !important;
	margin: 0 auto;
}
/* Dark nav: swap to dark logo */
.nav-dark #logo img.header_logo,
.nav-dark #logo img.header-logo {
	display: none !important;
}
.nav-dark #logo img.header-logo-dark {
	display: inline-block !important;
}
/* Sticky logo variant when set */
.stuck #logo img.header-logo-sticky {
	display: inline-block !important;
}
.stuck #logo img.header-logo-sticky ~ img {
	display: none !important;
}

/* Mobile: keep logo centered (Flatsome medium-logo-center) */
@media screen and (max-width: 849px) {
	.header-inner.medium-logo-center .logo,
	.medium-logo-center #logo {
		width: auto !important;
		max-width: 56px !important;
		flex: 0 0 auto !important;
		margin: 0 12px !important;
		text-align: center !important;
		order: 2;
	}
	.medium-logo-center .flex-left {
		flex: 1 1 0 !important;
		order: 1;
	}
	.medium-logo-center .flex-right {
		flex: 1 1 0 !important;
		order: 3;
	}
	/* Only the active logo — never force ALL #logo img visible */
	.medium-logo-center #logo img.header_logo,
	.medium-logo-center #logo img.header-logo {
		display: inline-block !important;
		margin: 0 auto !important;
		max-height: 38px !important;
	}
	.medium-logo-center #logo img.header-logo-dark,
	.medium-logo-center #logo img.header-logo-sticky {
		display: none !important;
	}
	.nav-dark.medium-logo-center #logo img.header_logo,
	.nav-dark.medium-logo-center #logo img.header-logo,
	.medium-logo-center .nav-dark #logo img.header_logo,
	.medium-logo-center .nav-dark #logo img.header-logo {
		display: none !important;
	}
	.nav-dark.medium-logo-center #logo img.header-logo-dark,
	.medium-logo-center .nav-dark #logo img.header-logo-dark {
		display: inline-block !important;
	}
}

/*
 * Homepage content alignment (Best Sellers → footer):
 * Desktop only — shared 120px side gutter.
 * Mobile keeps Flatsome defaults (do NOT zero row/col gutters or text clips).
 */
@media (min-width: 850px) {
	.home,
	.page-id-162 {
		--home-content-gutter: 120px;
	}

	/* Kill Flatsome default 15px col padding on the main page column */
	.home .row-main > .col,
	.page-id-162 .row-main > .col {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Single gutter on the page content wrapper */
	.home .row-main > .col > .col-inner,
	.page-id-162 .row-main > .col > .col-inner {
		padding-left: var(--home-content-gutter) !important;
		padding-right: var(--home-content-gutter) !important;
		box-sizing: border-box !important;
	}

	/*
	 * Only the direct content rows under the page col-inner.
	 * Do NOT zero nested product-grid cols — they need side pad for card gaps.
	 */
	.home .row-main > .col > .col-inner > .row,
	.page-id-162 .row-main > .col > .col-inner > .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.home .row-main > .col > .col-inner > .row > .col,
	.page-id-162 .row-main > .col > .col-inner > .row > .col {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Shortcode blocks: no second/third layer of horizontal padding */
	.home .shop-section,
	.page-id-162 .shop-section,
	.home .wala-products-grid,
	.page-id-162 .wala-products-grid,
	.home .kv-home,
	.page-id-162 .kv-home,
	.home .br-grid,
	.page-id-162 .br-grid,
	.home .kv-home .wrap,
	.page-id-162 .kv-home .wrap,
	.home .kv-section .wrap,
	.page-id-162 .kv-section .wrap,
	.home .kv-trust-bar,
	.page-id-162 .kv-trust-bar {
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	/* FAQ: stretch to the same content edges */
	.home .tw-faq,
	.page-id-162 .tw-faq {
		max-width: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Tighten Flatsome column side padding on homepage rows */
	.home .row-full-width > .col,
	.page-id-162 .row-full-width > .col {
		padding-left: 0;
		padding-right: 0;
	}
}

/* Section titles: keep readable, not oversized on wide screens */
.home .ux-text h2,
.page-id-162 .ux-text h2,
.home .ux-text h3,
.page-id-162 .ux-text h3 {
	font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
	letter-spacing: -0.02em;
	margin-bottom: 0.35em !important;
}
.home .ux-text p,
.page-id-162 .ux-text p {
	font-size: 14px !important;
	max-width: 56ch;
	margin-left: auto;
	margin-right: auto;
	color: #6b7280;
}

/* Homepage vertical rhythm — less “tall/fat” spacing */
.home #content.page-wrapper,
.page-id-162 #content.page-wrapper,
.home .content-area.page-wrapper,
.page-id-162 .content-area.page-wrapper {
	padding-top: 0 !important;
}
.home .section,
.page-id-162 .section {
	padding-top: clamp(28px, 3vw, 44px) !important;
	padding-bottom: clamp(28px, 3vw, 44px) !important;
}
.home .page-wrapper > .row,
.page-id-162 .page-wrapper > .row {
	margin-top: 0;
	margin-bottom: clamp(20px, 2.5vw, 36px);
}

/* Homepage hero: edge-to-edge full-bleed background, flush under header */
.home .section:has(.col-inner.text-center > section > h1),
.page-id-162 .section:has(.col-inner.text-center > section > h1) {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	box-sizing: border-box !important;
}
.home .section:has(.col-inner.text-center > section > h1) > .bg,
.page-id-162 .section:has(.col-inner.text-center > section > h1) > .bg {
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
}
.home,
.page-id-162 {
	overflow-x: clip;
}

/* Hero — transparent (show photo), white type + strong shadow for contrast */
.hero-text,
.home .section .col-inner.text-center > section:has(h1),
.page-id-162 .section .col-inner.text-center > section:has(h1) {
	max-width: min(680px, 92%) !important;
	padding: 8px 12px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	color: #ffffff !important;
	background: transparent !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.hero-text .hero-title,
.hero-text h1,
.hero-text h1.hero-title,
.home .section .col-inner.text-center > section:has(h1) > h1,
.page-id-162 .section .col-inner.text-center > section:has(h1) > h1 {
	color: #ffffff !important;
	font-size: clamp(1.75rem, 3.4vw, 2.65rem) !important;
	font-weight: 800 !important;
	margin-bottom: 14px !important;
	text-shadow:
		0 1px 2px rgba(0, 0, 0, 0.9),
		0 3px 16px rgba(0, 0, 0, 0.6),
		0 0 32px rgba(0, 0, 0, 0.4) !important;
}
.hero-text .hero-eyebrow,
.hero-text p.hero-eyebrow,
.home .section .col-inner.text-center > section:has(h1) > p:first-child,
.page-id-162 .section .col-inner.text-center > section:has(h1) > p:first-child {
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	margin-bottom: 12px !important;
	opacity: 1 !important;
	text-shadow:
		0 1px 2px rgba(0, 0, 0, 0.85),
		0 2px 12px rgba(0, 0, 0, 0.55),
		0 0 24px rgba(0, 0, 0, 0.35) !important;
}
.hero-text .hero-subtitle,
.hero-text p.hero-subtitle,
.home .section .col-inner.text-center > section:has(h1) > p:last-of-type,
.page-id-162 .section .col-inner.text-center > section:has(h1) > p:last-of-type {
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	max-width: 52ch !important;
	opacity: 1 !important;
	text-shadow:
		0 1px 2px rgba(0, 0, 0, 0.85),
		0 2px 12px rgba(0, 0, 0, 0.5),
		0 0 20px rgba(0, 0, 0, 0.35) !important;
}

/* About Us: logo left + copy right, same content edges as blocks above */
.home .row.row-collapse.align-middle.align-center:has(img):has(h2),
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 40px;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col {
	float: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	min-width: 0 !important;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-4,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-4,
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-4,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-4 {
	flex: 0 0 380px !important;
	width: 380px !important;
	max-width: 380px !important;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-8,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-8,
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-8,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-8 {
	flex: 1 1 0 !important;
	width: auto !important;
	max-width: none !important;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-4 > .col-inner,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-4 > .col-inner,
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-4 > .col-inner,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-4 > .col-inner {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 0;
	padding: 0 !important;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) .img,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) .img,
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) .img-inner,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) .img-inner {
	width: 100% !important;
	max-width: 360px !important;
	margin: 0 auto !important;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) img,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) img {
	width: 100% !important;
	height: auto !important;
	object-fit: contain;
	display: block;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-8 > .col-inner,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-8 > .col-inner,
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-8 > .col-inner,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-8 > .col-inner {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	text-align: left !important;
	padding: 0 !important;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) .text,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) .text,
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) h2,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) h2,
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) p,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) p {
	text-align: left !important;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) h2,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) h2 {
	font-size: clamp(1.75rem, 2.6vw, 2.35rem) !important;
	margin-bottom: 0.65em !important;
}
.home .row.row-collapse.align-middle.align-center:has(img):has(h2) p,
.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) p {
	font-size: 16.5px !important;
	line-height: 1.75 !important;
	color: #4b5563;
	max-width: 52rem !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Reviews: denser, comfortable 5-up */
.home .br-grid,
.page-id-162 .br-grid {
	gap: 12px !important;
}
.br-grid {
	--br-thumb-ratio: 1 / 1;
}
/* Remove plugin red card borders (br-style-bordered) */
.br-grid.br-style-bordered .br-card,
.br-card {
	border: none !important;
	outline: none !important;
}

.br-card-thumb {
	aspect-ratio: 1 / 1;
	background: #f3f4f6;
}
.br-card-thumb img {
	object-fit: contain !important;
	object-position: center center !important;
}

/* Blog Details: 3 cards top-aligned + equal outer height + aligned date/excerpt */
.row.large-columns-3:has(.box-blog-post) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch !important;
	clear: both;
	padding-left: var(--page-gutter);
	padding-right: var(--page-gutter);
	box-sizing: border-box;
}

.row.large-columns-3:has(.box-blog-post)::before,
.row.large-columns-3:has(.box-blog-post)::after {
	display: none !important;
}

.row.large-columns-3:has(.box-blog-post) > .col.post-item {
	float: none !important;
	display: flex !important;
	flex-direction: column;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	transform: none !important;
	margin-bottom: 0 !important;
	align-self: stretch !important;
}

.row.large-columns-3:has(.box-blog-post) > .col.post-item > .col-inner {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	height: 100% !important;
}

.row.large-columns-3:has(.box-blog-post) .box.box-blog-post {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	height: 100% !important;
	min-height: 100%;
	margin-bottom: 0 !important;
	border-radius: var(--card-radius);
	overflow: hidden;
}

.row.large-columns-3:has(.box-blog-post) .box-blog-post .box-text {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	height: 100%;
}

.row.large-columns-3:has(.box-blog-post) .box-blog-post .box-text-inner.blog-post-inner {
	display: grid !important;
	grid-template-rows: 5.6em auto auto 1fr;
	flex: 1 1 auto;
	height: 100%;
	align-content: start;
}

.row.large-columns-3:has(.box-blog-post) .box-blog-post .post-title {
	margin: 0 !important;
	min-height: 0 !important;
	overflow: hidden;
	font-size: 16px !important;
	line-height: 1.35 !important;
}

.row.large-columns-3:has(.box-blog-post) .box-blog-post .from_the_blog_excerpt {
	margin-bottom: 0 !important;
	font-size: 13px !important;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/

	:root {
		--page-gutter: 14px;
		--page-gap: 8px;
		--card-radius: 14px;
	}

	/* Fix Flatsome nested .row (-15px margin) left-bias: expand to full viewport */
	.home .row.row-main > .large-12 > .col-inner > .row,
	.page-id-162 .row.row-main > .large-12 > .col-inner > .row {
		width: calc(100% + 30px) !important;
		max-width: none !important;
		margin-left: -15px !important;
		margin-right: -15px !important;
	}
	.home .row.row-main > .large-12 > .col-inner > .row > .col.small-12,
	.page-id-162 .row.row-main > .large-12 > .col-inner > .row > .col.small-12 {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.home .page-wrapper > .row,
	.page-id-162 .page-wrapper > .row {
		margin-top: 0;
		margin-bottom: 16px;
	}

	.home .section,
	.page-id-162 .section {
		padding-top: 24px !important;
		padding-bottom: 24px !important;
	}
	.home .section:has(.col-inner.text-center > section > h1),
	.page-id-162 .section:has(.col-inner.text-center > section > h1) {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	/* Hero — center dark text box + SHOP NOW on phone */
	.section:has(.hero-text) .section-content,
	.section:has(.hero-text) .section-content > .row,
	.home .section:has(.col-inner.text-center > section > h1) .section-content,
	.home .section:has(.col-inner.text-center > section > h1) .section-content > .row,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) .section-content,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) .section-content > .row {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}
	.section:has(.hero-text) .section-content > .row,
	.home .section:has(.col-inner.text-center > section > h1) .section-content > .row,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) .section-content > .row {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
	}
	.section:has(.hero-text) .col.medium-10,
	.section:has(.hero-text) .col.large-10,
	.section:has(.hero-text) .col.small-12,
	.home .section:has(.col-inner.text-center > section > h1) .col.medium-10,
	.home .section:has(.col-inner.text-center > section > h1) .col.large-10,
	.home .section:has(.col-inner.text-center > section > h1) .col.small-12,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) .col.medium-10,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) .col.large-10,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) .col.small-12 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: var(--page-gutter) !important;
		padding-right: var(--page-gutter) !important;
		box-sizing: border-box !important;
	}
	.section:has(.hero-text) .col-inner.text-center,
	.home .section:has(.col-inner.text-center > section > h1) .col-inner.text-center,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) .col-inner.text-center {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		width: 100% !important;
	}
	.hero-text,
	.home .section .col-inner.text-center > section:has(h1),
	.page-id-162 .section .col-inner.text-center > section:has(h1) {
		max-width: 100% !important;
		width: 100% !important;
		padding: 20px 16px !important;
		border-radius: 12px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}
	.hero-text .hero-title,
	.home .section .col-inner.text-center > section:has(h1) > h1,
	.page-id-162 .section .col-inner.text-center > section:has(h1) > h1 {
		font-size: 1.45rem !important;
		line-height: 1.2 !important;
	}
	.hero-text .hero-subtitle,
	.home .section .col-inner.text-center > section:has(h1) > p:last-of-type,
	.page-id-162 .section .col-inner.text-center > section:has(h1) > p:last-of-type {
		font-size: 13px !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.section:has(.hero-text) a.button.primary,
	.section:has(.hero-text) .button.primary,
	.home .section:has(.col-inner.text-center > section > h1) a.button.primary,
	.home .section:has(.col-inner.text-center > section > h1) .button.primary,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) a.button.primary,
	.page-id-162 .section:has(.col-inner.text-center > section > h1) .button.primary {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		float: none !important;
	}

	/* Best Sellers: 2-up on phone */
	.home .kv-home .product-grid,
	.page-id-162 .kv-home .product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}
	.home .kv-home .product-body,
	.page-id-162 .kv-home .product-body {
		padding: 8px 10px 10px;
	}
	.home .kv-home .product-body h3,
	.page-id-162 .kv-home .product-body h3 {
		font-size: 12px;
		min-height: 2.6em;
	}
	.home .kv-home .price,
	.page-id-162 .kv-home .price {
		font-size: 13px;
	}

	/* Bento already handled in homepage-blocks.css */

	/* WALA cards stack — full-width heroes on phone */
	.home .wala-products-grid,
	.page-id-162 .wala-products-grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		align-items: start !important;
	}
	.home .wala-products-grid .wala-product-card,
	.page-id-162 .wala-products-grid .wala-product-card {
		display: flex !important;
		flex-direction: column !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		grid-template-columns: none !important; /* kill wala-product.css side-by-side */
	}
	/* Mobile: hero images full card width, keep square — no side letterbox */
	.home .walac-hero,
	.page-id-162 .walac-hero,
	.home .wala-products-grid .walac-hero,
	.page-id-162 .wala-products-grid .walac-hero {
		width: 100% !important;
		max-width: none !important;
		max-height: none !important;
		aspect-ratio: 1 / 1 !important;
		height: auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		flex: 0 0 auto !important;
		overflow: hidden !important;
		border-radius: 0 !important;
	}
	.home .walac-hero img,
	.page-id-162 .walac-hero img,
	.home .wala-products-grid .walac-hero img,
	.page-id-162 .wala-products-grid .walac-hero img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
	}
	.home .walac-info,
	.page-id-162 .walac-info,
	.home .wala-products-grid .walac-info,
	.page-id-162 .wala-products-grid .walac-info {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		grid-template-rows: none !important;
		gap: 8px !important;
		padding: 12px 14px 14px !important;
		flex: 0 0 auto !important;
		overflow: visible !important;
		max-height: none !important;
		text-align: center !important;
	}
	.home .walac-info h2,
	.page-id-162 .walac-info h2 {
		font-size: 15px !important;
		-webkit-line-clamp: unset !important;
		overflow: visible !important;
		max-height: none !important;
		display: block !important;
		text-align: center !important;
		width: 100% !important;
	}
	.home .walac-desc,
	.page-id-162 .walac-desc {
		font-size: 12px !important;
		-webkit-line-clamp: 2 !important;
		display: -webkit-box !important;
		-webkit-box-orient: vertical;
		overflow: hidden !important;
		max-height: 3em !important;
		text-align: center !important;
		width: 100% !important;
	}
	.home .walac-rating,
	.page-id-162 .walac-rating,
	.home .wala-products-grid .walac-rating,
	.page-id-162 .wala-products-grid .walac-rating {
		justify-content: center !important;
		align-self: center !important;
		width: 100% !important;
		text-align: center !important;
	}
	.home .walac-specs,
	.page-id-162 .walac-specs {
		gap: 6px !important;
		margin: 0 !important;
		width: 100% !important;
		align-self: stretch !important;
	}
	.home .walac-spec,
	.page-id-162 .walac-spec {
		padding: 8px 10px !important;
		min-height: 0 !important;
	}
	/* Price + CTA: kill desktop space-between / align-self:end → center on phone */
	.home .walac-bottom,
	.page-id-162 .walac-bottom,
	.home .wala-products-grid .walac-bottom,
	.page-id-162 .wala-products-grid .walac-bottom {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		align-self: center !important;
		width: 100% !important;
		margin-top: 8px !important;
		padding-top: 8px !important;
		overflow: visible !important;
		text-align: center !important;
		gap: 10px !important;
	}
	.home .walac-price,
	.page-id-162 .walac-price {
		display: flex !important;
		justify-content: center !important;
		align-items: baseline !important;
		flex-wrap: wrap !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		text-align: center !important;
	}
	.home .walac-price .walac-price-amount,
	.page-id-162 .walac-price .walac-price-amount,
	.home .walac-price .walac-price-suffix,
	.page-id-162 .walac-price .walac-price-suffix {
		float: none !important;
		text-align: center !important;
	}
	.home .walac-price-amount,
	.page-id-162 .walac-price-amount {
		font-size: 20px !important;
	}
	.home .walac-cta,
	.page-id-162 .walac-cta {
		display: inline-flex !important;
		justify-content: center !important;
		align-items: center !important;
		align-self: center !important;
		float: none !important;
		margin: 0 auto !important;
		width: fit-content !important;
		max-width: 100% !important;
	}

	/* Mobile header logo — keep inside bar, never stack */
	#logo img.header_logo,
	#logo img.header-logo,
	#logo img.header-logo-dark,
	#logo img.header-logo-sticky {
		max-height: 38px !important;
	}
	.header-main #logo,
	.stuck #logo {
		overflow: hidden !important;
	}

	/* About Us mobile — full width, logo clearly visible */
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2),
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) {
		max-width: 100% !important;
		padding: 0 16px !important;
		gap: 8px;
		flex-wrap: wrap !important;
	}
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col,
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-4,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-4,
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-4,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-4,
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-8,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-8,
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-8,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-8 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) .img,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) .img,
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) .img-inner,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) .img-inner {
		width: 200px !important;
		max-width: 200px !important;
		margin: 0 auto !important;
	}
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) img,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) img {
		width: 200px !important;
		max-width: 200px !important;
		height: auto !important;
		display: block !important;
		margin: 0 auto !important;
	}
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-8 > .col-inner,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.large-8 > .col-inner,
	.home .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-8 > .col-inner,
	.page-id-162 .row.row-collapse.align-middle.align-center:has(img):has(h2) > .col.medium-8 > .col-inner {
		max-width: 100% !important;
		padding: 8px 0 28px !important;
	}
	.home .about-copy-col h2,
	.page-id-162 .about-copy-col h2,
	.home .about-copy-col p,
	.page-id-162 .about-copy-col p {
		text-align: center !important;
	}
	.home .about-copy,
	.page-id-162 .about-copy {
		max-width: 100%;
		margin: 0 auto;
	}

	/* Nested About row must not stay half-width on phone */
	.home .section .row-full-width,
	.page-id-162 .section .row-full-width {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Reviews: 2-up on phone */
	.home .br-grid,
	.page-id-162 .br-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
		padding-left: var(--page-gutter);
		padding-right: var(--page-gutter);
	}

	/* Blog — fix nested Flatsome row (360px left-biased) so cards center on phone */
	.row:has(> .col.small-12 .row.large-columns-3 .box-blog-post) {
		width: calc(100% + 30px) !important;
		max-width: none !important;
		margin-left: -15px !important;
		margin-right: -15px !important;
	}

	.col.small-12.large-12:has(.row.large-columns-3 .box-blog-post) {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.row.large-columns-3:has(.box-blog-post) {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: var(--page-gutter) !important;
		padding-right: var(--page-gutter) !important;
		box-sizing: border-box !important;
	}

	.row.large-columns-3:has(.box-blog-post) > .col.post-item {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 16px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		left: auto !important;
		right: auto !important;
	}

	.row.large-columns-3:has(.box-blog-post) > .col.post-item > .col-inner {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.row.large-columns-3:has(.box-blog-post) .box.box-blog-post {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.row.large-columns-3:has(.box-blog-post) .box-blog-post .box-text-inner.blog-post-inner {
		grid-template-rows: auto auto auto auto;
	}

	.home .ux-text h2,
	.page-id-162 .ux-text h2,
	.home .ux-text h3,
	.page-id-162 .ux-text h3 {
		font-size: 1.25rem !important;
	}
	.home .ux-text p,
	.page-id-162 .ux-text p {
		font-size: 13px !important;
		padding: 0 4px;
	}
}

@media only screen and (max-width: 380px) {
	.home .kv-home .product-grid,
	.page-id-162 .kv-home .product-grid {
		grid-template-columns: 1fr !important;
	}
	/* Keep reviews 2-up even on very narrow phones — do not collapse to 1 */
	.home .br-grid,
	.page-id-162 .br-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}
}

/* Hide Flatsome empty add-to-cart bar that only shows a green checkmark */
.woocommerce-message.message-wrapper:has(.message-container > .icon-checkmark + .added-to-cart:last-child) {
	display: none !important;
}

/* ---- FAQ accordion (match reference: left uppercase + right) ---- */
.tw-faq {
	max-width: 960px !important;
	margin: 2.5rem auto !important;
	padding: 0 1rem !important;
	text-align: left !important;
	color: #333f52 !important;
	box-sizing: border-box !important;
}
.tw-faq > h2 {
	font-size: 1.75rem !important;
	margin: 0 0 1.75rem !important;
	text-align: center !important;
	color: #111827 !important;
	text-transform: none !important;
}
.tw-faq-item {
	border-bottom: 1px solid #e5e7eb !important;
	border-top: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	background: transparent !important;
}
.tw-faq-item summary {
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1.25rem !important;
	padding: 1.35rem 0 !important;
	margin: 0 !important;
	list-style: none !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	line-height: 1.45 !important;
	text-align: left !important;
	text-transform: uppercase !important;
	color: #333f52 !important;
}
.tw-faq-item summary::-webkit-details-marker {
	display: none !important;
}
.tw-faq-item summary::before {
	content: none !important;
	display: none !important;
}
.tw-faq-item summary::after {
	content: "+" !important;
	flex: 0 0 auto !important;
	display: inline-block !important;
	width: auto !important;
	font-size: 1.35rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: #333f52 !important;
}
.tw-faq-item[open] summary::after {
	content: "−" !important;
}
.tw-faq-item p {
	margin: 0 0 1.25rem !important;
	padding: 0 2rem 0 0 !important;
	max-width: none !important;
	line-height: 1.65 !important;
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
	text-transform: none !important;
	color: #4b5563 !important;
}
@media (max-width: 600px) {
	.tw-faq {
		padding: 0 0.75rem !important;
	}
	.tw-faq > h2 {
		font-size: 1.4rem !important;
	}
	.tw-faq-item summary {
		font-size: 0.82rem !important;
		padding: 1.1rem 0 !important;
		gap: 0.75rem !important;
	}
	.tw-faq-item p {
		font-size: 0.9rem !important;
		padding-right: 0 !important;
	}
}

/* ---- Footer: desktop columns stay; mobile = accordion (+ / ×) ---- */

/* Desktop: match homepage content gutter (trust bar / Best Sellers edges) */
@media (min-width: 850px) {
	#footer.footer-wrapper > .row {
		max-width: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: var(--home-content-gutter, 120px) !important;
		padding-right: var(--home-content-gutter, 120px) !important;
		box-sizing: border-box !important;
	}
	#footer.footer-wrapper > .row > .col {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	#footer.footer-wrapper > .row > .col + .col {
		padding-left: 40px !important;
	}
	#footer .footer-col .col-inner,
	#footer .col-inner {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

#footer .footer-col h4 {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 700;
	color: #1a1a1a;
}
#footer .footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#footer .footer-col ul li {
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
}
#footer .footer-col ul li::marker {
	content: "";
}
#footer .footer-col ul a {
	color: #3d4450;
	font-size: 14px;
	text-decoration: none;
	line-height: 1.45;
}
#footer .footer-col ul a:hover {
	color: #111;
	text-decoration: underline;
}

@media (max-width: 849px) {
	#footer.footer-wrapper {
		background: #fafafa;
		padding-top: 8px;
		padding-bottom: 8px;
	}
	#footer > .row {
		display: block !important;
		margin: 0 !important;
		max-width: 100% !important;
		padding-left: var(--page-gutter) !important;
		padding-right: var(--page-gutter) !important;
	}
	#footer > .row > .col {
		width: 100% !important;
		max-width: 100% !important;
		flex: none !important;
		float: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	#footer .col-inner {
		padding: 0 !important;
		margin: 0 !important;
	}
	#footer .footer-col,
	#footer .footer-col .sub-block {
		margin: 0 !important;
		padding: 0 !important;
	}
	#footer .footer-col {
		border-bottom: 1px solid #e6e6e6;
	}
	#footer .footer-col h4 {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin: 0 !important;
		padding: 18px 2px !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		letter-spacing: 0.1em !important;
		text-transform: uppercase !important;
		color: #1a1a1a !important;
		cursor: pointer;
		user-select: none;
		-webkit-tap-highlight-color: transparent;
	}
	#footer .footer-col h4::after {
		content: "+";
		flex: 0 0 auto;
		font-size: 22px;
		font-weight: 300;
		line-height: 1;
		color: #222;
	}
	#footer .footer-col.is-open h4::after {
		content: "×";
		font-size: 24px;
		font-weight: 400;
	}
	#footer .footer-col ul {
		display: none;
		margin: 0 !important;
		padding: 0 2px 16px !important;
	}
	#footer .footer-col.is-open ul {
		display: block;
	}
	#footer .footer-col ul li {
		margin: 0 !important;
		padding: 7px 0 !important;
	}
	#footer .footer-col ul a {
		font-size: 14px;
		color: #5a6170;
		text-decoration: none;
	}
	#footer .absolute-footer {
		margin-top: 0;
	}
}

/* Single product: cleaner layout (no empty sidebar / left-aligned info) */
.single-product .product-info.product-summary {
	text-align: left;
}
.single-product .product-info .product-title {
	overflow: visible;
	white-space: normal;
	text-overflow: unset;
	word-break: break-word;
	line-height: 1.25;
}
.single-product .product-footer .woocommerce-tabs .tabs,
.single-product .product-footer .tabs.wc-tabs {
	justify-content: flex-start;
	text-align: left;
}
.single-product .product-footer .tabs.nav-center {
	justify-content: flex-start;
}
.single-product .product-main {
	padding-top: 12px;
	padding-bottom: 24px;
}
.single-product .woocommerce-product-gallery {
	max-width: 100%;
}
.single-product .woocommerce-product-gallery .image-tools.absolute.bottom {
	bottom: 12px;
}

/* Single product: side blank matching annotated ~140px gutters */
.single-product .shop-container {
	padding-left: 140px !important;
	padding-right: 140px !important;
	box-sizing: border-box;
}
.single-product .product-container,
.single-product .product-container .container,
.single-product .product-main > .row,
.single-product .product-footer .container,
.single-product .product-footer .woocommerce-tabs.container,
.single-product .product-footer .related-products-wrapper,
.single-product .product-footer .product-section {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
@media (max-width: 849px) {
	.single-product .shop-container {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}
}

