/**
 * Green Roots FloSun — theme overrides on top of FloSun style.css
 */

/* ---- Astra coexistence ---- */
.greenroots-flosun .site-header,
.greenroots-flosun .ast-header-break-point .main-header-bar,
.greenroots-flosun #masthead.site-header {
	/* FloSun header replaces Astra; hide leftover builder chrome if any */
}

.greenroots-flosun .ast-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.greenroots-flosun.ast-page-builder-template .site-content > .ast-container {
	padding: 0;
	margin: 0;
	max-width: 100%;
}

.greenroots-flosun #content.site-content {
	padding-top: 0;
}

.greenroots-flosun .main-header-area .custom-logo-link,
.greenroots-flosun .header-logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
}

.greenroots-flosun .main-header-area .custom-logo-link img,
.greenroots-flosun .header-logo img,
.greenroots-flosun .custom-logo,
.greenroots-flosun .main-header-area .header-logo img {
	height: 60px !important;
	width: auto !important;
	max-width: min(220px, 52vw) !important;
	max-height: none !important;
	object-fit: contain;
	transition: height 0.3s ease;
}

/* Header layout safety net (works even if Bootstrap utilities are missing) */
.greenroots-flosun .main-header .row {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: center;
}

.greenroots-flosun .main-header .row > .col-custom.d-flex {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
}

.greenroots-flosun .site-title-text {
	font-size: 20px;
	font-weight: 700;
	color: #222;
}

/* ---- Floating sticky header ---- */
.greenroots-flosun .main-header-area {
	position: relative;
	z-index: 10040;
	overflow: visible;
}

.greenroots-flosun .header-sticky {
	overflow: visible;
	transition: background-color 0.35s ease, box-shadow 0.35s ease, border-radius 0.35s ease, top 0.35s ease, left 0.35s ease, right 0.35s ease, width 0.35s ease, padding 0.35s ease, backdrop-filter 0.35s ease;
}

.greenroots-flosun .header-sticky.sticky {
	left: 18px;
	right: 18px;
	top: 14px;
	width: auto;
	max-width: min(1280px, calc(100% - 36px));
	margin-left: auto;
	margin-right: auto;
	padding: 8px 20px;
	position: fixed;
	z-index: 10040;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.94) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.2);
	backdrop-filter: blur(14px) saturate(1.2);
	box-shadow:
		0 14px 40px rgba(34, 20, 28, 0.12),
		0 4px 14px rgba(231, 36, 99, 0.08),
		0 0 0 1px rgba(231, 36, 99, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
	animation: grStickyFloatIn 0.45s ease forwards;
	transform: none;
	overflow: visible;
}

.greenroots-flosun .header-sticky.sticky::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	background:
		radial-gradient(ellipse 40% 80% at 8% 50%, rgba(231, 36, 99, 0.07), transparent 60%),
		radial-gradient(ellipse 35% 70% at 92% 50%, rgba(46, 125, 50, 0.05), transparent 55%);
	z-index: 0;
}

.greenroots-flosun .header-sticky.sticky::after {
	content: "";
	position: absolute;
	left: 14%;
	right: 14%;
	bottom: 3px;
	height: 2px;
	border-radius: 2px;
	pointer-events: none;
	background: linear-gradient(90deg, transparent 0%, rgba(231, 36, 99, 0.55) 50%, transparent 100%);
	opacity: 0.7;
	z-index: 1;
}

.greenroots-flosun .header-sticky.sticky > .container-fluid {
	position: relative;
	z-index: 2;
}

.greenroots-flosun .header-sticky.sticky .main-nav > ul > li {
	padding-top: 10px;
	padding-bottom: 10px;
}

.greenroots-flosun .header-sticky.sticky .header-logo img,
.greenroots-flosun .header-sticky.sticky .custom-logo-link img,
.greenroots-flosun .header-sticky.sticky .custom-logo {
	height: 48px !important;
	max-width: min(200px, 48vw) !important;
}

.greenroots-flosun .header-sticky.sticky .main-nav > ul > li > a {
	font-size: 14px;
}

.greenroots-flosun .header-sticky.sticky .gr-lang-link {
	padding: 6px 8px !important;
	border-radius: 999px;
	background: rgba(231, 36, 99, 0.06);
}

.greenroots-flosun .header-sticky.sticky .minicart-btn,
.greenroots-flosun .header-sticky.sticky .sidemenu-wrap > a,
.greenroots-flosun .header-sticky.sticky .off-canvas-btn {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.04);
	transition: background 0.2s ease, color 0.2s ease;
}

.greenroots-flosun .header-sticky.sticky .minicart-btn:hover,
.greenroots-flosun .header-sticky.sticky .sidemenu-wrap > a:hover,
.greenroots-flosun .header-sticky.sticky .off-canvas-btn:hover {
	background: rgba(231, 36, 99, 0.12);
	color: #E72463;
}

@keyframes grStickyFloatIn {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 991px) {
	.greenroots-flosun .header-sticky.sticky {
		left: 10px;
		right: 10px;
		top: 8px;
		max-width: calc(100% - 20px);
		padding: 8px 12px;
		border-radius: 14px;
	}

	.greenroots-flosun .header-sticky.sticky::before,
	.greenroots-flosun .header-sticky.sticky::after {
		display: none;
	}

	.greenroots-flosun .main-header-area .custom-logo-link img,
	.greenroots-flosun .header-logo img,
	.greenroots-flosun .custom-logo {
		height: 44px !important;
		width: auto !important;
		max-width: min(170px, 48vw) !important;
		max-height: none !important;
		object-fit: contain;
	}

	.greenroots-flosun .header-sticky.sticky .header-logo img,
	.greenroots-flosun .header-sticky.sticky .custom-logo-link img,
	.greenroots-flosun .header-sticky.sticky .custom-logo {
		height: 40px !important;
		max-width: min(160px, 46vw) !important;
	}

	.greenroots-flosun .header-logo .custom-logo-link {
		max-width: 100%;
	}

	/* Hide WP site title if it ever leaks beside the logo */
	.greenroots-flosun .header-logo .custom-logo-link + .site-title-text,
	.greenroots-flosun .header-logo .wp-block-site-title {
		display: none !important;
	}
}

@media (max-width: 575px) {
	.greenroots-flosun .header-sticky.sticky {
		left: 8px;
		right: 8px;
		top: 6px;
		max-width: calc(100% - 16px);
		border-radius: 12px;
		padding: 6px 10px;
	}
}

/* Language switcher */
.greenroots-flosun .gr-lang-switch {
	margin-right: 12px;
}

.greenroots-flosun .gr-lang-link {
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 1px;
	color: #222 !important;
	padding: 8px 6px !important;
}

.greenroots-flosun .main-nav .trp-flag-image {
	vertical-align: middle;
	margin-inline-end: 6px;
}

.greenroots-flosun .main-nav .trp-ls-language-name {
	font-weight: 600;
	text-transform: uppercase;
}

/* Header search form (LTR baseline) */
.greenroots-flosun .dropdown-search form {
	position: relative;
}

.greenroots-flosun .header-right-area.main-nav > ul > li.sidemenu-wrap,
.greenroots-flosun .header-right-area.main-nav > ul > li.minicart-wrap {
	position: relative;
}

/* Keep search / mini-cart panels inside the viewport */
.greenroots-flosun .header-right-area .dropdown-search.dropdown-hover-2 {
	right: 0;
	left: auto;
	width: min(340px, calc(100vw - 24px));
	max-width: calc(100vw - 24px);
	z-index: 10055;
}

.greenroots-flosun .header-right-area .cart-item-wrapper.dropdown-hover-2 {
	right: 0;
	left: auto;
	max-width: min(360px, calc(100vw - 24px));
	z-index: 10055;
}

/* Click-open search (mobile / touch) — avoids relying on :hover + href="#" jump */
.greenroots-flosun .sidemenu-wrap.gr-panel-open > .dropdown-hover-2,
.greenroots-flosun .sidemenu-wrap.gr-panel-open > .dropdown-search {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto;
}

@media (max-width: 991px) {
	.greenroots-flosun .header-right-area .dropdown-search.dropdown-hover-2 {
		width: min(300px, calc(100vw - 20px));
		max-width: calc(100vw - 20px);
		right: 0 !important;
		left: auto !important;
	}

	.greenroots-flosun .header-right-area .cart-item-wrapper.dropdown-hover-2 {
		right: 0 !important;
		left: auto !important;
		width: min(320px, calc(100vw - 20px));
		max-width: calc(100vw - 20px);
	}
}

/* Desktop nav dropdown — open direct child only; nested on its own hover */
.greenroots-flosun .main-nav > ul > li {
	position: relative;
}

/* Kill FloSun cascade: hide nested only (not the top-level panel) */
.greenroots-flosun .main-nav > ul > li:hover .dropdown-submenu .dropdown-submenu {
	opacity: 0;
	visibility: hidden;
	top: 0 !important;
}

.greenroots-flosun .main-nav > ul > li > .dropdown-submenu.dropdown-hover {
	left: 0;
	right: auto;
	top: 100%;
	margin-top: 0;
	z-index: 10050;
	transition: opacity 0.15s ease, visibility 0.15s ease;
	transition-delay: 0s;
}

.greenroots-flosun .main-nav > ul > li:hover > .dropdown-submenu.dropdown-hover {
	top: 100%;
	opacity: 1;
	visibility: visible;
}

.greenroots-flosun .main-nav > ul > li > a i.fa-angle-down {
	margin-inline-start: 4px;
	transition: transform 0.2s ease;
}

.greenroots-flosun .main-nav > ul > li:hover > a i.fa-angle-down {
	transform: translateY(2px);
}

/* Nested submenu — side flyout with hover bridge overlap */
.greenroots-flosun .dropdown-submenu .dropdown-submenu {
	top: 0 !important;
	left: calc(100% - 6px);
	right: auto;
	margin-top: 0;
	z-index: 10051;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.15s ease, visibility 0.15s ease;
	transition-delay: 0s;
}

.greenroots-flosun .dropdown-submenu > li {
	position: relative;
}

/* Higher specificity than FloSun cascade + our nested-hide rule */
.greenroots-flosun .main-nav > ul > li:hover .dropdown-submenu > li:hover > .dropdown-submenu,
.greenroots-flosun .main-nav > ul > li:hover .dropdown-submenu > li:hover > .dropdown-submenu.dropdown-hover,
.greenroots-flosun .main-nav > ul > li .dropdown-submenu > li:hover > .dropdown-submenu,
.greenroots-flosun .main-nav > ul > li .dropdown-submenu > li:hover > .dropdown-submenu.dropdown-hover {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto;
	top: 0 !important;
}

/* Sticky header must not clip flyouts */
.greenroots-flosun .header-sticky.sticky .main-nav,
.greenroots-flosun .header-sticky.sticky .main-nav > ul,
.greenroots-flosun .header-sticky.sticky .main-nav > ul > li,
.greenroots-flosun .header-sticky.sticky .container-fluid,
.greenroots-flosun .header-sticky.sticky .row,
.greenroots-flosun .header-sticky.sticky [class*="col-"] {
	overflow: visible !important;
}

.greenroots-flosun .dropdown-submenu > li > a > i {
	inset-inline-end: 12px;
	right: auto;
	padding-right: 0;
	padding-inline-end: 0;
}

/* ---- Primary nav hover (pill + underline) ---- */
.greenroots-flosun .main-nav > ul > li > a {
	border-radius: 999px;
	transition: color 0.22s ease, background-color 0.22s ease;
}

.greenroots-flosun .main-nav > ul > li > a .menu-text {
	position: relative;
	display: inline-block;
}

.greenroots-flosun .main-nav > ul > li > a .menu-text::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 2px;
	border-radius: 2px;
	background: #E72463;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.25s ease;
}

.greenroots-flosun .main-nav > ul > li > a:hover,
.greenroots-flosun .main-nav > ul > li > a.active,
.greenroots-flosun .main-nav > ul > li.current-menu-item > a,
.greenroots-flosun .main-nav > ul > li.current_page_item > a {
	color: #E72463;
	background-color: rgba(231, 36, 99, 0.08);
}

.greenroots-flosun .main-nav > ul > li > a:hover .menu-text::after,
.greenroots-flosun .main-nav > ul > li > a.active .menu-text::after,
.greenroots-flosun .main-nav > ul > li.current-menu-item > a .menu-text::after,
.greenroots-flosun .main-nav > ul > li.current_page_item > a .menu-text::after {
	transform: scaleX(1);
}

/* Don't pill-paint utility icons in header-right */
.greenroots-flosun .header-right-area.main-nav > ul > li > a:hover,
.greenroots-flosun .header-right-area.main-nav > ul > li > a.active {
	background-color: transparent;
}

/* Product card CTA — always visible, no price swap, lighter motion */
.greenroots-flosun .product-area .single-product .product-content {
	position: relative;
	padding-bottom: 8px;
	min-height: auto;
}

.greenroots-flosun .product-area .single-product .product-content .price-box,
.greenroots-flosun .product-area .single-product:hover .product-content .price-box {
	opacity: 1 !important;
	visibility: visible !important;
	position: static !important;
	transition: none !important;
	transition-delay: 0s !important;
	margin-bottom: 8px;
}

.greenroots-flosun .product-area .single-product .product-content .product-cart,
.greenroots-flosun .product-area .single-product .product-content a.button,
.greenroots-flosun .product-area .single-product:hover .product-content .product-cart,
.greenroots-flosun .product-area .single-product:hover .product-content a.button {
	opacity: 1 !important;
	visibility: visible !important;
	position: static !important;
	transform: none !important;
	left: auto !important;
	bottom: auto !important;
	display: inline-block !important;
	transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease !important;
	transition-delay: 0s !important;
	max-width: 100%;
	white-space: normal;
	line-height: 1.3;
	letter-spacing: 0.5px;
	text-align: center;
}

.greenroots-flosun .product-area .single-product .add-action a {
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
	transition-delay: 0s !important;
}

.greenroots-flosun .product-area .single-product .add-action a i {
	transition: background-color 0.2s ease !important;
}

.greenroots-flosun .product-area .single-product:hover .add-action a,
.greenroots-flosun .product-area .single-product:hover .add-action a:nth-child(2),
.greenroots-flosun .product-area .single-product:hover .add-action a:nth-child(3) {
	transition-delay: 0s !important;
}

/* Mini cart WooCommerce widget inside FloSun dropdown */
.greenroots-flosun .cart-item-wrapper {
	min-width: 320px;
	padding: 20px;
	background: #fff;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.1);
	z-index: 999;
}

.greenroots-flosun .cart-item-wrapper .woocommerce-mini-cart__buttons .button {
	display: inline-block;
	margin: 5px 4px 0 0;
	background: #E72463;
	color: #fff !important;
	border-radius: 0;
	border: none;
	padding: 10px 16px;
	font-size: 13px;
}

.greenroots-flosun .cart-item-wrapper .woocommerce-mini-cart__buttons .button.checkout {
	background: #000;
}

/* Banner captions on Home 2 */
.greenroots-flosun .gr-banner-caption {
	position: absolute;
	left: 20px;
	bottom: 20px;
	z-index: 2;
	color: #fff;
}

.greenroots-flosun .gr-banner-caption h4 {
	color: #fff;
	margin-bottom: 10px;
	font-size: 20px;
}

.greenroots-flosun .single-banner {
	position: relative;
}

/* Product loop FloSun cards inside WooCommerce ul.products */
.greenroots-flosun ul.products {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
	padding: 0;
	list-style: none;
}

.greenroots-flosun ul.products li.product {
	list-style: none;
	margin: 0 0 30px;
	padding: 0 15px;
	width: 33.333%;
	float: none;
}

.greenroots-flosun ul.products.columns-2 li.product { width: 50%; }
.greenroots-flosun ul.products.columns-3 li.product { width: 33.333%; }
.greenroots-flosun ul.products.columns-4 li.product { width: 25%; }
.greenroots-flosun ul.products.columns-5 li.product { width: 20%; }
.greenroots-flosun ul.products.columns-6 li.product { width: 16.666%; }

@media (max-width: 991px) {
	.greenroots-flosun ul.products li.product,
	.greenroots-flosun ul.products.columns-4 li.product,
	.greenroots-flosun ul.products.columns-5 li.product,
	.greenroots-flosun ul.products.columns-6 li.product {
		width: 50%;
	}
}

@media (max-width: 575px) {
	.greenroots-flosun ul.products li.product,
	.greenroots-flosun ul.products[class*="columns-"] li.product {
		width: 50%;
	}
}

.greenroots-flosun ul.products li.product .woocommerce-loop-product__title,
.greenroots-flosun .astra-shop-summary-wrap {
	display: none;
}

.greenroots-flosun .single-product .product-content .price-box .price,
.greenroots-flosun .single-product .price-box del,
.greenroots-flosun .single-product .price-box ins {
	text-decoration: inherit;
}

.greenroots-flosun .single-product .price del {
	opacity: 0.6;
	margin-right: 6px;
}

.greenroots-flosun .single-product .btn.product-cart,
.greenroots-flosun .single-product a.button {
	display: inline-block;
	margin-top: 10px;
	background: transparent;
	border: 1px solid #E72463;
	color: #E72463 !important;
	border-radius: 0;
	padding: 8px 18px;
	font-size: 13px;
	text-transform: uppercase;
}

.greenroots-flosun .single-product .btn.product-cart:hover,
.greenroots-flosun .single-product a.button:hover {
	background: #E72463;
	color: #fff !important;
}

.greenroots-flosun span.onsale,
.greenroots-flosun .single-product .onsale {
	background: #E72463;
	color: #fff;
	min-height: auto;
	min-width: auto;
	line-height: 1;
	padding: 6px 10px;
	border-radius: 0;
	left: 10px;
	top: 10px;
	right: auto;
}

/* Shop toolbar */
.greenroots-flosun .woocommerce-result-count,
.greenroots-flosun .woocommerce-ordering {
	margin-bottom: 20px;
}

.greenroots-flosun .woocommerce-ordering select {
	border: 1px solid #ddd;
	padding: 8px 30px 8px 12px;
	border-radius: 0;
}

/* Single product */
.greenroots-flosun .single-product-main-area {
	padding: 40px 0 60px;
}

.greenroots-flosun div.product .woocommerce-tabs {
	margin-top: 40px;
}

.greenroots-flosun div.product .woocommerce-tabs ul.tabs {
	padding-left: 0;
	margin-bottom: 20px;
	border-bottom: 1px solid #eee;
}

.greenroots-flosun div.product .woocommerce-tabs ul.tabs li {
	border: none;
	background: transparent;
	border-radius: 0;
	margin-right: 20px;
}

.greenroots-flosun div.product .woocommerce-tabs ul.tabs li.active a {
	color: #E72463;
	border-bottom: 2px solid #E72463;
}

.greenroots-flosun .related.products > h2,
.greenroots-flosun .upsells.products > h2 {
	text-align: center;
	margin-bottom: 30px;
	font-size: 28px;
}

/* Cart & Checkout & Account — FloSun-ish, keep WC form structure */
.greenroots-flosun.gr-cart-page #primary,
.greenroots-flosun.gr-checkout-page #primary,
.greenroots-flosun.gr-account-page #primary {
	margin-top: 0;
	margin-bottom: 48px;
}

.greenroots-flosun.gr-cart-page .entry-header,
.greenroots-flosun.gr-checkout-page .entry-header,
.greenroots-flosun.gr-account-page .entry-header {
	display: none;
}

.greenroots-flosun.gr-cart-page .ast-article-single,
.greenroots-flosun.gr-checkout-page .ast-article-single,
.greenroots-flosun.gr-account-page .ast-article-single {
	padding-top: 0;
}

.greenroots-flosun.gr-cart-page.ast-separate-container .ast-article-single,
.greenroots-flosun.gr-checkout-page.ast-separate-container .ast-article-single {
	background: transparent;
	box-shadow: none;
	border: 0;
	padding-left: 0;
	padding-right: 0;
}

.greenroots-flosun.gr-cart-page.ast-separate-container #primary,
.greenroots-flosun.gr-checkout-page.ast-separate-container #primary {
	padding-top: 0;
}

.greenroots-flosun.gr-cart-page .woocommerce,
.greenroots-flosun.gr-checkout-page .woocommerce,
.greenroots-flosun.gr-account-page .woocommerce {
	max-width: 1140px;
	margin: 0 auto 60px;
	padding: 28px 15px 0;
}

/* Empty cart — centered composed panel */
.greenroots-flosun.gr-cart-page .wc-empty-cart-message {
	max-width: 560px;
	margin: 24px auto 20px;
	text-align: center;
}

.greenroots-flosun.gr-cart-page .wc-empty-cart-message .cart-empty.woocommerce-info,
.greenroots-flosun.gr-cart-page .cart-empty.woocommerce-info {
	display: block;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
	border: 1px solid rgba(231, 36, 99, 0.12);
	border-top: 3px solid #E72463;
	border-right: 1px solid rgba(231, 36, 99, 0.12);
	border-bottom: 1px solid rgba(231, 36, 99, 0.12);
	border-left: 1px solid rgba(231, 36, 99, 0.12);
	background: #fff;
	box-shadow: 0 14px 36px rgba(34, 20, 28, 0.06);
	padding: 36px 28px !important;
	color: #444;
	font-size: 16px;
	line-height: 1.6;
}

.greenroots-flosun.gr-cart-page .wc-empty-cart-message .cart-empty.woocommerce-info::before,
.greenroots-flosun.gr-cart-page .cart-empty.woocommerce-info::before {
	display: none;
}

.greenroots-flosun.gr-cart-page .return-to-shop {
	text-align: center !important;
	margin: 0 auto 48px !important;
	max-width: 560px;
}

.greenroots-flosun.gr-cart-page .return-to-shop .button,
.greenroots-flosun.gr-cart-page .return-to-shop a.wc-backward {
	display: inline-block !important;
	float: none !important;
	background-color: #E72463 !important;
	border-color: #E72463 !important;
	color: #fff !important;
	border-radius: 0 !important;
	padding: 14px 32px !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 600;
}

.greenroots-flosun.gr-cart-page .return-to-shop .button:hover,
.greenroots-flosun.gr-cart-page .return-to-shop a.wc-backward:hover {
	background-color: #000 !important;
	border-color: #000 !important;
}

.greenroots-flosun.gr-cart-page table.shop_table,
.greenroots-flosun.gr-checkout-page table.shop_table,
.greenroots-flosun.gr-account-page table.shop_table {
	border: 1px solid #eee;
	width: 100%;
	border-collapse: collapse;
}

.greenroots-flosun.gr-cart-page table.shop_table th,
.greenroots-flosun.gr-checkout-page table.shop_table th,
.greenroots-flosun.gr-account-page table.shop_table th {
	background: #f8f8f8;
	border-color: #eee;
	text-transform: uppercase;
	font-size: 13px;
	padding: 14px 12px;
}

.greenroots-flosun.gr-cart-page table.shop_table td {
	padding: 16px 12px;
	border-color: #eee;
	vertical-align: middle;
}

.greenroots-flosun.gr-cart-page table.shop_table .product-thumbnail img {
	max-width: 72px;
	height: auto;
	border: 1px solid #eee;
}

.greenroots-flosun.gr-cart-page table.shop_table .product-name a {
	color: #222;
	font-weight: 600;
}

.greenroots-flosun.gr-cart-page table.shop_table .product-name a:hover {
	color: #E72463;
}

.greenroots-flosun.gr-cart-page table.shop_table .product-remove a {
	color: #999 !important;
	font-size: 1.25em;
}

.greenroots-flosun.gr-cart-page table.shop_table .product-remove a:hover {
	color: #E72463 !important;
}

.greenroots-flosun.gr-cart-page .woocommerce-cart-form .actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 0 8px;
}

.greenroots-flosun.gr-cart-page .woocommerce-cart-form .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	float: none !important;
	padding: 0 !important;
}

.greenroots-flosun.gr-cart-page .coupon .input-text {
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 10px 14px;
	background: #f7f7f7;
	min-width: 180px;
	height: 46px;
}

.greenroots-flosun.gr-cart-page .cart-collaterals {
	width: 100%;
	max-width: 420px;
	margin-inline-start: auto;
	margin-top: 12px;
	float: none !important;
}

.greenroots-flosun.gr-cart-page .cart-collaterals .cart_totals,
.greenroots-flosun.gr-checkout-page #order_review {
	background: #fafafa;
	border: 1px solid #eee;
	padding: 24px;
}

.greenroots-flosun.gr-cart-page .cart_totals h2 {
	font-size: 20px;
	margin-bottom: 16px;
}

.greenroots-flosun.gr-cart-page .cart_totals .checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	padding: 14px 20px !important;
	margin-top: 12px;
}

@media (max-width: 767px) {
	.greenroots-flosun.gr-cart-page .woocommerce-cart-form {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.greenroots-flosun.gr-cart-page table.shop_table {
		min-width: 640px;
	}

	.greenroots-flosun.gr-cart-page .cart-collaterals {
		max-width: 100%;
		margin-inline-start: 0;
	}

	.greenroots-flosun.gr-cart-page .woocommerce-cart-form .actions {
		flex-direction: column;
		align-items: stretch;
	}

	.greenroots-flosun.gr-cart-page .woocommerce-cart-form .coupon {
		width: 100%;
	}

	.greenroots-flosun.gr-cart-page .coupon .input-text,
	.greenroots-flosun.gr-cart-page .woocommerce-cart-form .actions .button {
		width: 100%;
	}
}

.greenroots-flosun .woocommerce-notices-wrapper .woocommerce-message,
.greenroots-flosun .woocommerce-notices-wrapper .woocommerce-info,
.greenroots-flosun .woocommerce-notices-wrapper .woocommerce-error {
	border-radius: 0;
	border-top-color: #E72463;
}

.greenroots-flosun .quantity .qty {
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 8px;
	width: 4.5em;
}

.greenroots-flosun.gr-checkout-page #payment {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 0;
	padding: 20px;
}

.greenroots-flosun.gr-checkout-page #payment div.payment_box {
	background: #f7f7f7;
	border-radius: 0;
}

.greenroots-flosun.gr-account-page .woocommerce-MyAccount-navigation {
	margin-bottom: 30px;
}

.greenroots-flosun.gr-account-page .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid #eee;
}

.greenroots-flosun.gr-account-page .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 16px;
	border-bottom: 1px solid #eee;
	color: #222;
}

.greenroots-flosun.gr-account-page .woocommerce-MyAccount-navigation ul li.is-active a,
.greenroots-flosun.gr-account-page .woocommerce-MyAccount-navigation ul li a:hover {
	background: #E72463;
	color: #fff !important;
}

.greenroots-flosun.gr-account-page .woocommerce-MyAccount-content {
	border: 1px solid #eee;
	padding: 24px;
}

@media (min-width: 768px) {
	.greenroots-flosun.gr-account-page .woocommerce {
		display: grid;
		grid-template-columns: 240px 1fr;
		gap: 30px;
		align-items: start;
	}

	.greenroots-flosun.gr-account-page .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}
}

/* Primary Woo CTAs only — avoid painting every .button */
.greenroots-flosun .woocommerce a.checkout-button,
.greenroots-flosun .woocommerce button.button.alt,
.greenroots-flosun .woocommerce #place_order,
.greenroots-flosun .woocommerce .single_add_to_cart_button,
.greenroots-flosun .woocommerce a.button.product_type_simple.add_to_cart_button,
.greenroots-flosun .woocommerce a.button.product_type_variable,
.greenroots-flosun .woocommerce button[name="woocommerce_checkout_place_order"],
.greenroots-flosun .woocommerce button[name="update_cart"],
.greenroots-flosun .woocommerce button[name="apply_coupon"],
.greenroots-flosun .woocommerce .woocommerce-form-login__submit,
.greenroots-flosun .woocommerce .woocommerce-form-register__submit,
.greenroots-flosun .woocommerce .woocommerce-Button {
	background-color: #E72463 !important;
	border-color: #E72463 !important;
	color: #fff !important;
	border-radius: 0 !important;
	text-transform: uppercase;
}

.greenroots-flosun .woocommerce a.checkout-button:hover,
.greenroots-flosun .woocommerce button.button.alt:hover,
.greenroots-flosun .woocommerce #place_order:hover,
.greenroots-flosun .woocommerce .single_add_to_cart_button:hover,
.greenroots-flosun .woocommerce button[name="update_cart"]:hover,
.greenroots-flosun .woocommerce button[name="apply_coupon"]:hover,
.greenroots-flosun .woocommerce .woocommerce-Button:hover {
	background-color: #000 !important;
	border-color: #000 !important;
}

.greenroots-flosun .woocommerce form .form-row input.input-text,
.greenroots-flosun .woocommerce form .form-row textarea,
.greenroots-flosun .woocommerce form .form-row select {
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 10px 14px;
	background: #f7f7f7;
}

/* Contact — keep FloSun circular icons (do not flatten .con-info-icon) */
.greenroots-flosun .contact-info-item {
	text-align: center;
	padding: 60px 20px;
	margin-bottom: 30px;
	border: 1px solid #dddddd;
}

.greenroots-flosun .contact-info-item .con-info-icon {
	border: 1px solid #E72463;
	border-radius: 100px;
	color: #E72463;
	font-size: 35px;
	margin: 0 auto 20px;
	transition: 0.4s;
	line-height: 60px;
	height: 60px;
	width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.greenroots-flosun .contact-info-item:hover .con-info-icon {
	background-color: #E72463;
	color: #ffffff;
}

.greenroots-flosun .gr-contact-form-wrap .wpforms-container {
	margin: 0 !important;
}

.greenroots-flosun .gr-contact-form-wrap .wpforms-field {
	padding: 0 0 16px !important;
}

.greenroots-flosun .gr-contact-form-wrap input[type="text"],
.greenroots-flosun .gr-contact-form-wrap input[type="email"],
.greenroots-flosun .gr-contact-form-wrap input[type="tel"],
.greenroots-flosun .gr-contact-form-wrap input[type="url"],
.greenroots-flosun .gr-contact-form-wrap input[type="number"],
.greenroots-flosun .gr-contact-form-wrap select,
.greenroots-flosun .gr-contact-form-wrap textarea {
	border: 0 !important;
	background: #f5f5f5 !important;
	padding: 14px 16px !important;
	width: 100% !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.greenroots-flosun .gr-contact-form-wrap textarea {
	min-height: 140px;
}

.greenroots-flosun .gr-contact-form-wrap .wpforms-submit,
.greenroots-flosun .gr-contact-form-wrap button[type="submit"],
.greenroots-flosun .gr-contact-form-wrap input[type="submit"] {
	background: #E72463 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 14px 32px !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	font-weight: 600;
}

.greenroots-flosun .gr-contact-form-wrap .wpforms-submit:hover,
.greenroots-flosun .gr-contact-form-wrap button[type="submit"]:hover {
	background: #000 !important;
}

.greenroots-flosun .gr-contact-form-wrap .wpforms-error,
.greenroots-flosun .gr-contact-form-wrap .wpforms-error-alert {
	color: #E72463;
}

/* ---- Newsletter band ---- */
.greenroots-flosun .gr-newsletter.news-letter-area {
	padding: 56px 0 64px;
	background:
		radial-gradient(ellipse 80% 60% at 10% 20%, rgba(231, 36, 99, 0.08), transparent 55%),
		radial-gradient(ellipse 70% 50% at 90% 80%, rgba(46, 125, 50, 0.07), transparent 50%),
		linear-gradient(180deg, #f7f3f5 0%, #faf8f7 100%);
}

.greenroots-flosun .gr-newsletter-panel {
	padding: 36px 40px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(231, 36, 99, 0.12);
	box-shadow: 0 18px 40px rgba(34, 20, 28, 0.06);
	position: relative;
	overflow: hidden;
}

.greenroots-flosun .gr-newsletter-panel::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: #E72463;
}

.greenroots-flosun .gr-newsletter-eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #E72463;
	margin-bottom: 10px;
}

.greenroots-flosun .gr-newsletter-title {
	margin-bottom: 12px;
}

.greenroots-flosun .gr-newsletter-desc {
	color: #555;
	margin-bottom: 22px;
	max-width: 36em;
	line-height: 1.6;
}

.greenroots-flosun .gr-newsletter-features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.greenroots-flosun .gr-newsletter-features li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.greenroots-flosun .gr-newsletter-feature-icon {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #E72463;
	color: #fff;
	font-size: 14px;
}

.greenroots-flosun .gr-newsletter-feature-label {
	font-size: 14px;
	font-weight: 500;
	color: #222;
	line-height: 1.35;
}

.greenroots-flosun .gr-newsletter-form-shell {
	background: #fff;
	border: 1px solid #eee;
	padding: 28px 24px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.04);
}

.greenroots-flosun .gr-newsletter-form-label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #888;
	margin-bottom: 10px;
}

.greenroots-flosun .gr-newsletter-compose {
	display: flex;
	align-items: stretch;
	width: 100%;
	gap: 0;
	border: 1px solid #e5e5e5;
	background: #fafafa;
}

.greenroots-flosun .gr-newsletter-compose .email-box,
.greenroots-flosun .gr-newsletter-compose input[type="email"] {
	flex: 1 1 auto;
	border: 0 !important;
	background: transparent !important;
	padding: 14px 16px !important;
	margin: 0 !important;
	min-width: 0;
	box-shadow: none !important;
}

.greenroots-flosun .gr-newsletter-compose button,
.greenroots-flosun .gr-newsletter-compose .btn {
	flex: 0 0 auto;
	background: #E72463 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 14px 22px !important;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.greenroots-flosun .gr-newsletter-compose button:hover,
.greenroots-flosun .gr-newsletter-compose .btn:hover {
	background: #000 !important;
}

/* WPForms inside newsletter shell — stacked fields */
.greenroots-flosun .gr-newsletter-form-shell .wpforms-container {
	margin: 0 !important;
}

.greenroots-flosun .gr-newsletter-form-shell .wpforms-form,
.greenroots-flosun .gr-newsletter-form-shell .wpforms-form .wpforms-field-container {
	display: block;
	width: 100%;
}

.greenroots-flosun .gr-newsletter-form-shell .wpforms-field {
	display: block;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 0 14px !important;
}

.greenroots-flosun .gr-newsletter-form-shell .wpforms-field-label,
.greenroots-flosun .gr-newsletter-form-shell .wpforms-field-label-inline {
	display: block !important;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;
	color: #555;
}

.greenroots-flosun .gr-newsletter-form-shell input[type="email"],
.greenroots-flosun .gr-newsletter-form-shell input[type="text"],
.greenroots-flosun .gr-newsletter-form-shell input[type="tel"],
.greenroots-flosun .gr-newsletter-form-shell select {
	width: 100% !important;
	border: 1px solid #e5e5e5 !important;
	background: #fafafa !important;
	padding: 14px 16px !important;
	margin: 0 !important;
	border-radius: 0 !important;
	height: 52px;
	box-sizing: border-box;
}

.greenroots-flosun .gr-newsletter-form-shell textarea {
	width: 100% !important;
	min-height: 150px !important;
	border: 1px solid #e5e5e5 !important;
	background: #fafafa !important;
	padding: 14px 16px !important;
	margin: 0 !important;
	border-radius: 0 !important;
	resize: vertical;
	box-sizing: border-box;
	line-height: 1.5;
}

.greenroots-flosun .gr-newsletter-form-shell .wpforms-submit-container {
	display: block;
	width: 100%;
	margin: 4px 0 0 !important;
	padding: 0 !important;
}

.greenroots-flosun .gr-newsletter-form-shell button[type="submit"],
.greenroots-flosun .gr-newsletter-form-shell .wpforms-submit {
	background: #E72463 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 14px 28px !important;
	height: auto;
	min-height: 52px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	font-weight: 600;
	margin: 0 !important;
}

.greenroots-flosun .gr-newsletter-form-shell button[type="submit"]:hover,
.greenroots-flosun .gr-newsletter-form-shell .wpforms-submit:hover {
	background: #000 !important;
}

.greenroots-flosun .gr-newsletter-note {
	margin: 12px 0 0;
	font-size: 12px;
	color: #999;
}

@media (max-width: 767px) {
	.greenroots-flosun .gr-newsletter-panel {
		padding: 28px 20px;
	}

	.greenroots-flosun .gr-newsletter-compose {
		flex-direction: column;
	}

	.greenroots-flosun .gr-newsletter-form-shell button[type="submit"],
	.greenroots-flosun .gr-newsletter-form-shell .wpforms-submit,
	.greenroots-flosun .gr-newsletter-compose button {
		width: 100%;
	}
}

/* Testimonials */
.greenroots-flosun .single-testimonial {
	text-align: center;
	padding: 30px 40px;
}

.greenroots-flosun .testimonial-author {
	margin-top: 15px;
	color: #E72463;
}

/* Help / shop CTAs — optional shortcodes only (not in default home stack) */
.greenroots-flosun .gr-help-cta,
.greenroots-flosun .gr-shop-cta {
	padding: 36px 0;
	background: #f9f9f9;
}

/* Tighter hero on cart/checkout pages */
.greenroots-flosun.gr-cart-page .breadcrumbs-area,
.greenroots-flosun.gr-checkout-page .breadcrumbs-area {
	padding: 70px 0;
	margin-bottom: 28px;
}

.greenroots-flosun .breadcrumb-content .title-3 {
	margin-bottom: 10px;
	position: relative;
	z-index: 1;
}

.greenroots-flosun .breadcrumb-content ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}

.greenroots-flosun .gr-woo-breadcrumb {
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
	position: relative;
	z-index: 1;
}

.greenroots-flosun .breadcrumbs-area .breadcrumb-content .title-3.gr-woo-archive-title {
	font-family: "Great Vibes", cursive;
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 12px;
}

/* Footer */
.greenroots-flosun .footer-area {
	background: #111;
	color: #aaa;
	margin-top: 40px;
}

.greenroots-flosun .footer-area a {
	color: #ccc;
}

.greenroots-flosun .footer-area .widget-title {
	color: #fff;
	font-size: 18px;
	margin-bottom: 20px;
}

.greenroots-flosun .footer-area .widget-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.greenroots-flosun .footer-area .widget-list li a {
	display: inline-block;
	transition: color 0.2s ease, transform 0.2s ease, margin 0.2s ease;
}

.greenroots-flosun .footer-area .widget-list li a:hover {
	color: #E72463;
	margin-inline-start: 5px;
	margin-left: 0;
}

.greenroots-flosun .footer-area .social-links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.greenroots-flosun .footer-area .social-links ul li a {
	margin-right: 0 !important;
	margin-inline-end: 0;
}

.greenroots-flosun .footer-area .footer-logo img {
	max-height: 56px;
	width: auto;
}

.greenroots-flosun .footer-area .desc-content,
.greenroots-flosun .footer-area .widget-body {
	line-height: 1.7;
}

.greenroots-flosun .footer-copyright-area {
	border-top: 1px solid #222;
	padding: 20px 0;
	margin-top: 30px;
}

.greenroots-flosun .footer-copyright-area .copyright-content p {
	margin: 0;
	color: #888;
}

/* Hide duplicate Astra mobile cart drawer chrome when FloSun mini cart is used */
.greenroots-flosun .astra-cart-drawer,
.greenroots-flosun .astra-mobile-cart-overlay {
	display: none !important;
}

/* Elementor pages that still use builder content under FloSun shell */
.greenroots-flosun .elementor-button {
	border-radius: 0 !important;
}

.greenroots-flosun .elementor-button.elementor-size-md,
.greenroots-flosun .elementor-button.elementor-size-sm {
	background-color: #E72463;
	border-color: #E72463;
}

/* ---- Single product FloSun-ish layout ---- */
.greenroots-flosun.gr-single-product-page div.product {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px 40px;
}

.greenroots-flosun.gr-single-product-page div.product .woocommerce-product-gallery,
.greenroots-flosun.gr-single-product-page div.product .summary {
	padding: 0 15px;
	width: 100%;
	box-sizing: border-box;
}

.greenroots-flosun.gr-single-product-page div.product .woocommerce-tabs,
.greenroots-flosun.gr-single-product-page div.product .related.products,
.greenroots-flosun.gr-single-product-page div.product .upsells.products,
.greenroots-flosun.gr-single-product-page div.product .woocommerce-product-gallery ~ .woocommerce-tabs,
.greenroots-flosun.gr-single-product-page .related.products,
.greenroots-flosun.gr-single-product-page .upsells.products {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
	padding: 0 15px;
	box-sizing: border-box;
	clear: both;
}

@media (min-width: 992px) {
	.greenroots-flosun.gr-single-product-page div.product .woocommerce-product-gallery {
		width: 48%;
		flex: 0 0 48%;
		float: none;
	}
	.greenroots-flosun.gr-single-product-page div.product .summary {
		width: 52%;
		flex: 0 0 52%;
		float: none;
	}
}

.greenroots-flosun.gr-single-product-page div.product .product_title {
	font-size: 28px;
	margin-bottom: 12px;
}

.greenroots-flosun.gr-single-product-page div.product p.price {
	color: #E72463;
	font-size: 22px;
	margin-bottom: 20px;
}

.greenroots-flosun.gr-single-product-page .woocommerce-product-gallery__image img {
	border: 1px solid #eee;
}

.greenroots-flosun.gr-single-product-page .flex-control-thumbs {
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
}

.greenroots-flosun.gr-single-product-page .flex-control-thumbs li {
	width: 20%;
	padding: 4px;
	float: none;
}

.greenroots-flosun.gr-single-product-page .flex-control-thumbs li img {
	opacity: .65;
	border: 1px solid #eee;
	cursor: pointer;
}

.greenroots-flosun.gr-single-product-page .flex-control-thumbs li img.flex-active,
.greenroots-flosun.gr-single-product-page .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: #E72463;
}

.greenroots-flosun.gr-single-product-page .woocommerce-tabs {
	clear: both;
	padding-top: 40px;
	margin-top: 20px;
	border-top: 1px solid #eee;
}

.greenroots-flosun.gr-single-product-page .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 20px;
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.greenroots-flosun.gr-single-product-page .woocommerce-tabs ul.tabs::before {
	display: none;
}

.greenroots-flosun.gr-single-product-page .woocommerce-tabs ul.tabs li {
	border: 1px solid #eee;
	background: #fff;
	margin: 0;
	padding: 0;
	border-radius: 0;
}

.greenroots-flosun.gr-single-product-page .woocommerce-tabs ul.tabs li a {
	padding: 10px 18px;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: .4px;
}

.greenroots-flosun.gr-single-product-page .woocommerce-tabs ul.tabs li.active {
	background: #E72463;
	border-color: #E72463;
}

.greenroots-flosun.gr-single-product-page .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
}

.greenroots-flosun.gr-single-product-page .woocommerce-tabs .panel {
	border: 0;
	box-shadow: none;
	padding: 0 0 20px;
}

.greenroots-flosun .single_add_to_cart_button.button {
	background-color: #E72463 !important;
	border-color: #E72463 !important;
	border-radius: 0 !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 12px 28px !important;
}

.greenroots-flosun .single_add_to_cart_button.button:hover {
	background-color: #000 !important;
	border-color: #000 !important;
}

.greenroots-flosun .related.products {
	clear: both;
	padding-top: 40px;
	margin-top: 20px;
}

.greenroots-flosun .related.products > h2 {
	font-size: 24px;
	margin-bottom: 24px;
	text-align: center;
}

.greenroots-flosun .related.products ul.products {
	margin-top: 20px;
}

.greenroots-flosun .gr-home-categories.categories-area {
	padding-top: 40px;
}

/* Shop toolbar */
.greenroots-flosun .shop_toolbar_wrapper {
	border-bottom: 1px solid #eee;
	padding-bottom: 15px;
	margin-bottom: 25px !important;
}

.greenroots-flosun .gr-deal-products {
	padding: 64px 0 72px;
	margin: 0;
	background:
		radial-gradient(ellipse 70% 55% at 15% 10%, rgba(231, 36, 99, 0.12), transparent 55%),
		radial-gradient(ellipse 60% 50% at 90% 90%, rgba(46, 125, 50, 0.08), transparent 50%),
		linear-gradient(180deg, #f8f4f6 0%, #faf8f7 45%, #f3eef1 100%);
	position: relative;
	overflow: hidden;
}

.greenroots-flosun .gr-deal-header {
	margin-bottom: 28px;
}

.greenroots-flosun .gr-deal-eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #E72463;
	margin-bottom: 10px;
}

.greenroots-flosun .gr-deal-title {
	margin-bottom: 10px;
}

.greenroots-flosun .gr-deal-subtitle {
	margin: 0 auto;
	max-width: 28em;
	color: #666;
	font-size: 15px;
	line-height: 1.5;
}

.greenroots-flosun .gr-deal-countdown-shell {
	display: flex;
	justify-content: center;
	margin-bottom: 36px;
}

.greenroots-flosun .gr-deal-products .countdown-wrapper {
	margin-bottom: 0;
	gap: 12px;
	flex-wrap: wrap;
}

.greenroots-flosun .gr-deal-products .countdown-wrapper .single-countdown {
	background: #E72463;
	color: #fff;
	min-width: 72px;
	padding: 14px 12px;
	border-radius: 4px;
	box-shadow: 0 10px 24px rgba(231, 36, 99, 0.28);
	margin: 0;
}

.greenroots-flosun .gr-deal-products .countdown-wrapper .single-countdown:after {
	display: none;
}

.greenroots-flosun .gr-deal-products .countdown-wrapper .single-countdown .single-countdown_time {
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.1;
	display: block;
}

.greenroots-flosun .gr-deal-products .countdown-wrapper .single-countdown .single-countdown_text {
	color: rgba(255, 255, 255, 0.88);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 4px;
	display: block;
}

.greenroots-flosun .gr-deal-shelf {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(231, 36, 99, 0.1);
	box-shadow: 0 18px 40px rgba(34, 20, 28, 0.06);
	padding: 28px 20px 36px;
	position: relative;
}

.greenroots-flosun .gr-deal-shelf::before {
	content: "";
	position: absolute;
	top: 0;
	inset-inline-start: 0;
	inset-inline-end: 0;
	height: 3px;
	background: #E72463;
}

.greenroots-flosun .gr-deal-shelf .gr-deal-carousel {
	padding-bottom: 12px;
}

@media (max-width: 575px) {
	.greenroots-flosun .gr-deal-products .countdown-wrapper .single-countdown {
		min-width: 58px;
		padding: 10px 8px;
	}

	.greenroots-flosun .gr-deal-products .countdown-wrapper .single-countdown .single-countdown_time {
		font-size: 22px;
	}

	.greenroots-flosun .gr-deal-shelf {
		padding: 20px 12px 28px;
	}
}

/* ---- Shop archive FloSun shell (/store/) ---- */
.greenroots-flosun.woocommerce-shop .shop-main-area,
.greenroots-flosun.tax-product_cat .shop-main-area,
.greenroots-flosun.tax-product_tag .shop-main-area,
.greenroots-flosun.post-type-archive-product .shop-main-area,
.greenroots-flosun.search-results .shop-main-area,
.greenroots-flosun.gr-shop-shell {
	padding: 20px 0 60px;
}

.greenroots-flosun.woocommerce-shop .woocommerce-products-header__title,
.greenroots-flosun.tax-product_cat .woocommerce-products-header__title,
.greenroots-flosun.tax-product_tag .woocommerce-products-header__title,
.greenroots-flosun.search-results .woocommerce-products-header__title {
	text-align: center;
	font-size: 28px;
	margin-bottom: 10px;
}

.greenroots-flosun .shop_toolbar_wrapper .woocommerce-result-count {
	margin: 0;
	padding: 8px 0;
}

.greenroots-flosun .shop_toolbar_wrapper .woocommerce-ordering {
	margin: 0;
}

.greenroots-flosun.woocommerce-shop ul.products::before,
.greenroots-flosun.woocommerce-shop ul.products::after,
.greenroots-flosun.tax-product_cat ul.products::before,
.greenroots-flosun.tax-product_cat ul.products::after {
	display: none;
}

.greenroots-flosun.woocommerce-shop .woocommerce-pagination,
.greenroots-flosun.tax-product_cat .woocommerce-pagination {
	text-align: center;
	margin-top: 30px;
}

.greenroots-flosun.woocommerce-shop .woocommerce-pagination .page-numbers,
.greenroots-flosun.tax-product_cat .woocommerce-pagination .page-numbers {
	display: inline-block;
	min-width: 40px;
	height: 40px;
	line-height: 40px;
	margin: 0 4px;
	border: 1px solid #eee;
	color: #222;
	text-align: center;
}

.greenroots-flosun.woocommerce-shop .woocommerce-pagination .page-numbers.current,
.greenroots-flosun.woocommerce-shop .woocommerce-pagination .page-numbers:hover,
.greenroots-flosun.tax-product_cat .woocommerce-pagination .page-numbers.current,
.greenroots-flosun.tax-product_cat .woocommerce-pagination .page-numbers:hover {
	background: #E72463;
	border-color: #E72463;
	color: #fff;
}

/* 404 — FloSun error section */
.greenroots-flosun .error_section,
.greenroots-flosun .error-404-area {
	padding: 80px 0 100px;
	text-align: center;
}

.greenroots-flosun .error_form h1,
.greenroots-flosun .error-content .title-3 {
	font-size: 96px;
	line-height: 1;
	color: #E72463;
	font-weight: 700;
	margin-bottom: 16px;
}

.greenroots-flosun .error_form h3,
.greenroots-flosun .error-content h3 {
	font-size: 28px;
	margin-bottom: 16px;
}

.greenroots-flosun .error_form p,
.greenroots-flosun .error-content p {
	max-width: 480px;
	margin: 0 auto 24px;
	color: #666;
}

@media (min-width: 992px) {
	.greenroots-flosun .main-header nav.main-nav.d-lg-flex {
		display: flex !important;
	}
}

/* ========== Responsive foundation (991 / 767 / 575) ========== */
.greenroots-flosun {
	overflow-x: clip;
}

.greenroots-flosun .main-header-area {
	overflow: visible;
}

@media (max-width: 991px) {
	.greenroots-flosun .container,
	.greenroots-flosun .container-fluid,
	.greenroots-flosun .custom-area {
		padding-left: 16px;
		padding-right: 16px;
	}

	/* Hide desktop primary nav on mobile even without Bootstrap .d-none */
	.greenroots-flosun .main-header nav.main-nav.d-none,
	.greenroots-flosun .main-header nav.main-nav.d-lg-flex {
		display: none !important;
	}

	/* Mobile header: logo | spacer | tools — no column squeeze */
	.greenroots-flosun .main-header .row {
		display: flex !important;
		align-items: center;
		flex-wrap: nowrap !important;
		width: 100%;
	}

	.greenroots-flosun .main-header .row > .col-custom {
		float: none;
	}

	.greenroots-flosun .main-header .row > .col-custom.d-flex {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		gap: 6px;
		min-width: 0;
	}

	.greenroots-flosun .main-header .row > .col-6.col-custom:first-child {
		flex: 1 1 auto;
		min-width: 0;
		max-width: none;
		width: auto !important;
	}

	.greenroots-flosun .main-header .row > .col-6.col-custom.d-flex {
		flex: 0 0 auto;
		max-width: none;
		width: auto !important;
	}

	.greenroots-flosun .main-nav.mr-5 {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	/* Mobile header utilities: cart + search + menu on one row */
	.greenroots-flosun .header-right-area.main-nav {
		flex: 0 0 auto;
		max-width: none;
	}

	.greenroots-flosun .header-right-area.main-nav > ul > li > a,
	.greenroots-flosun .header-right-area.main-nav > ul > li .minicart-btn,
	.greenroots-flosun .header-right-area.main-nav > ul > li .off-canvas-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0 !important;
		line-height: 1;
		font-size: 18px;
		color: #222;
		background: transparent;
		border-radius: 10px;
	}

	.greenroots-flosun .header-right-area.main-nav > ul > li > a:hover,
	.greenroots-flosun .header-right-area.main-nav > ul > li .minicart-btn:hover,
	.greenroots-flosun .header-right-area.main-nav > ul > li .off-canvas-btn:hover {
		color: #E72463;
		background: rgba(0, 0, 0, 0.04);
	}

	.greenroots-flosun .header-right-area.main-nav > ul.nav {
		display: flex !important;
		flex-direction: row;
		flex-wrap: nowrap !important;
		align-items: center;
		justify-content: flex-end;
		gap: 2px;
		margin: 0;
		padding: 0;
		width: auto;
		max-width: 100%;
	}

	.greenroots-flosun .header-right-area.main-nav > ul > li {
		margin: 0 !important;
		padding: 0 !important;
		flex: 0 0 auto;
		position: relative;
	}

	.greenroots-flosun .header-right-area.main-nav > ul > li.sidemenu-wrap,
	.greenroots-flosun .header-right-area.main-nav > ul > li.minicart-wrap,
	.greenroots-flosun .header-right-area.main-nav > ul > li.mobile-menu-btn,
	.greenroots-flosun .header-right-area.main-nav > ul > li.gr-lang-switch {
		margin: 0 !important;
		padding: 0 !important;
	}

	.greenroots-flosun .header-right-area.main-nav > ul > li.gr-lang-switch > a {
		width: auto;
		min-width: 36px;
		padding: 0 6px !important;
		font-size: 12px;
	}

	.greenroots-flosun .header-sticky.sticky .main-nav > ul > li {
		padding-top: 0;
		padding-bottom: 0;
	}

	.greenroots-flosun .header-sticky.sticky .header-right-area.main-nav > ul > li > a,
	.greenroots-flosun .header-sticky.sticky .header-right-area.main-nav > ul > li .minicart-btn,
	.greenroots-flosun .header-sticky.sticky .header-right-area.main-nav > ul > li .off-canvas-btn {
		width: 40px;
		height: 40px;
		background: transparent;
	}

	/* Off-canvas panel — clean mobile drawer */
	.greenroots-flosun .off-canvas-wrapper {
		z-index: 10060;
	}

	.greenroots-flosun .off-canvas-wrapper .off-canvas-inner-content {
		width: min(320px, 86vw);
		box-shadow: 0 8px 32px rgba(34, 20, 28, 0.16);
	}

	.greenroots-flosun .off-canvas-wrapper .btn-close-off-canvas {
		position: absolute;
		top: 12px;
		inset-inline-end: 12px;
		left: auto;
		width: 36px;
		height: 36px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background: transparent;
		color: #333;
		font-size: 18px;
		cursor: pointer;
		z-index: 3;
		transition: color 0.2s ease, background 0.2s ease;
	}

	.greenroots-flosun .off-canvas-wrapper .btn-close-off-canvas:hover {
		background: rgba(0, 0, 0, 0.05);
		color: #E72463;
	}

	.greenroots-flosun .off-canvas-wrapper .search-box-offcanvas {
		padding: 52px 20px 16px;
		border-bottom: 1px solid #eee;
	}

	.greenroots-flosun .off-canvas-wrapper .search-box-offcanvas form input {
		height: 44px;
		border-radius: 8px;
		border: 1px solid #e6e6e6;
		background: #fafafa;
	}

	.greenroots-flosun .off-canvas-wrapper .mobile-navigation {
		padding: 8px 8px 20px;
	}

	.greenroots-flosun .mobile-menu {
		padding: 0;
		margin: 0;
		height: auto;
	}

	.greenroots-flosun .mobile-menu > li {
		border-bottom: 1px solid #f0f0f0;
	}

	.greenroots-flosun .mobile-menu > li:last-child {
		border-bottom: none;
	}

	/* Hide leftover angle icons if cached markup still has them */
	.greenroots-flosun .mobile-menu a .fa-angle-down,
	.greenroots-flosun .mobile-menu a .fa-angle-right {
		display: none !important;
	}

	.greenroots-flosun .mobile-menu a {
		display: block;
		padding-block: 14px;
		padding-inline-start: 12px;
		padding-inline-end: 48px;
		font-size: 15px;
		font-weight: 600;
		color: #222;
		line-height: 1.4;
	}

	.greenroots-flosun .mobile-menu .has-children,
	.greenroots-flosun .mobile-menu .menu-item-has-children {
		position: relative;
	}

	/* Expand sits at inline-end: right in LTR, left in RTL (Arabic).
	   Override FloSun style.css left:95%/90% which pinned icons to the right. */
	/* Pin expand to the parent link row only — NOT vertical center of whole <li>
	   (centering with top:50% drops the icon when the submenu opens and the li grows). */
	.greenroots-flosun .mobile-menu .has-children .menu-expand,
	.greenroots-flosun .mobile-menu .menu-item-has-children .menu-expand {
		position: absolute;
		top: 4px;
		left: auto !important;
		right: 4px !important;
		width: 40px;
		height: 40px;
		margin: 0;
		padding: 0;
		line-height: 1;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 8px;
		background: transparent;
		transform: none;
		z-index: 2;
		cursor: pointer;
		color: #777;
		transition: color 0.2s ease, background 0.2s ease;
	}

	.greenroots-flosun .mobile-menu .has-children .menu-expand:hover,
	.greenroots-flosun .mobile-menu .menu-item-has-children .menu-expand:hover {
		color: #E72463;
		background: rgba(0, 0, 0, 0.04);
	}

	/* Hide FloSun/FA inner markup — draw one chevron via ::after */
	.greenroots-flosun .mobile-menu .has-children .menu-expand i,
	.greenroots-flosun .mobile-menu .menu-item-has-children .menu-expand i {
		display: none !important;
	}

	.greenroots-flosun .mobile-menu .has-children .menu-expand::after,
	.greenroots-flosun .mobile-menu .menu-item-has-children .menu-expand::after {
		content: "";
		display: block;
		width: 9px;
		height: 9px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		margin-top: -3px;
		transition: transform 0.25s ease;
	}

	.greenroots-flosun .mobile-menu .has-children.active > .menu-expand,
	.greenroots-flosun .mobile-menu .menu-item-has-children.active > .menu-expand {
		color: #E72463;
	}

	.greenroots-flosun .mobile-menu .has-children.active > .menu-expand::after,
	.greenroots-flosun .mobile-menu .menu-item-has-children.active > .menu-expand::after {
		transform: rotate(225deg);
		margin-top: 3px;
	}

	.greenroots-flosun .mobile-menu .dropdown {
		padding: 0 8px 8px 8px;
		margin: 0;
		border: none;
		background: #fafafa;
	}

	.greenroots-flosun .mobile-menu .dropdown > li {
		border-bottom: none;
	}

	.greenroots-flosun .mobile-menu .dropdown li a {
		padding-block: 11px;
		padding-inline-start: 16px;
		padding-inline-end: 44px;
		font-size: 14px;
		font-weight: 500;
		color: #444;
	}

	.greenroots-flosun .mobile-menu .dropdown .dropdown {
		padding-inline-start: 10px;
		margin: 0;
		background: #f5f5f5;
	}

	.greenroots-flosun .off-canvas-wrapper .offcanvas-widget-area {
		margin-top: auto;
		padding: 16px 20px 24px;
		border-top: 1px solid #eee;
	}

	.greenroots-flosun .off-canvas-wrapper .address-info {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.greenroots-flosun .off-canvas-wrapper .address-info li {
		margin: 0 0 8px;
	}

	.greenroots-flosun .off-canvas-wrapper .address-info a {
		font-size: 14px;
		font-weight: 600;
		color: #E72463;
	}

	.greenroots-flosun .intro11-content h1,
	.greenroots-flosun .intro11-content .title-1,
	.greenroots-flosun .intro11-slider-wrap h1 {
		font-size: clamp(1.75rem, 5vw, 2.5rem);
		line-height: 1.2;
	}

	.greenroots-flosun .intro11-content h2,
	.greenroots-flosun .intro11-content .title-2 {
		font-size: clamp(1.1rem, 3.5vw, 1.5rem);
	}

	.greenroots-flosun .banner-content,
	.greenroots-flosun .collection-content {
		padding: 20px;
	}

	.greenroots-flosun .section-title-3 {
		font-size: 26px;
	}

	.greenroots-flosun .gr-deal-products {
		padding: 48px 0 56px;
	}

	.greenroots-flosun .gr-newsletter.news-letter-area {
		padding: 40px 0 48px;
	}

	.greenroots-flosun .footer-area .row > [class*="col-"] {
		margin-bottom: 28px;
	}
}

@media (max-width: 767px) {
	.greenroots-flosun .mt-text-3,
	.greenroots-flosun .pb-text-4,
	.greenroots-flosun .mb-text-2 {
		margin-top: 28px !important;
		margin-bottom: 28px !important;
		padding-bottom: 28px !important;
	}

	.greenroots-flosun .intro11-slider-wrap,
	.greenroots-flosun .gr-home-slider {
		min-height: 0;
	}

	.greenroots-flosun .intro11-content {
		padding: 40px 12px !important;
		text-align: center;
	}

	.greenroots-flosun .intro11-content .btn,
	.greenroots-flosun .collection-content .btn {
		margin-top: 12px;
	}

	.greenroots-flosun .banner-area .row > [class*="col-"],
	.greenroots-flosun .gr-home-banners .row > [class*="col-"] {
		margin-bottom: 16px;
	}

	.greenroots-flosun .categories-area .row > [class*="col-"],
	.greenroots-flosun .gr-home-categories .row > [class*="col-"] {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
		margin-bottom: 12px;
	}

	.greenroots-flosun .gr-newsletter-panel .row > [class*="col-"] {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}

	.greenroots-flosun .gr-newsletter-panel {
		padding: 24px 18px;
	}

	.greenroots-flosun .gr-deal-shelf {
		padding: 18px 10px 24px;
	}

	.greenroots-flosun .breadcrumbs-area {
		padding: 48px 0;
		margin-bottom: 24px;
	}

	.greenroots-flosun.gr-cart-page .woocommerce,
	.greenroots-flosun.gr-checkout-page .woocommerce,
	.greenroots-flosun.gr-account-page .woocommerce {
		padding-left: 12px;
		padding-right: 12px;
	}

	.greenroots-flosun.gr-single-product-page div.product .woocommerce-product-gallery,
	.greenroots-flosun.gr-single-product-page div.product .summary {
		float: none !important;
		width: 100% !important;
		max-width: 100%;
		margin: 0 0 24px;
	}

	.greenroots-flosun .shop_toolbar_wrapper {
		flex-direction: column;
		align-items: stretch !important;
		gap: 10px;
	}

	.greenroots-flosun .footer-area {
		margin-top: 24px;
		padding-top: 36px;
		text-align: center;
	}

	.greenroots-flosun .footer-area .widget-title {
		margin-bottom: 12px;
	}

	.greenroots-flosun .footer-area .social-links ul {
		justify-content: center;
	}

	.greenroots-flosun .error_form h1,
	.greenroots-flosun .error-content .title-3 {
		font-size: 64px;
	}
}

@media (max-width: 575px) {
	.greenroots-flosun .container,
	.greenroots-flosun .container-fluid,
	.greenroots-flosun .custom-area {
		padding-left: 12px;
		padding-right: 12px;
	}

	.greenroots-flosun .header-logo img,
	.greenroots-flosun .custom-logo-link img,
	.greenroots-flosun .custom-logo {
		height: 48px !important;
		max-width: min(180px, 46vw) !important;
		max-height: none !important;
	}

	.greenroots-flosun .header-sticky.sticky .header-logo img,
	.greenroots-flosun .header-sticky.sticky .custom-logo-link img,
	.greenroots-flosun .header-sticky.sticky .custom-logo {
		height: 44px !important;
		max-width: min(160px, 44vw) !important;
		max-height: none !important;
	}

	.greenroots-flosun .section-title-3 {
		font-size: 22px;
	}

	.greenroots-flosun .gr-deal-products .countdown-wrapper {
		gap: 8px;
	}

	.greenroots-flosun .single-testimonial {
		padding: 20px 16px;
	}

	.greenroots-flosun ul.products li.product {
		padding-left: 6px;
		padding-right: 6px;
	}
}

