:root {
	--public-accent: #00A859;
	--public-accent-dark: #008C4A;
	--text-dark: #1f1f1f;
}

/* Force all text elements, links, prices, headers, and welcome text to be crisp, readable black */
body,
p,
span,
a,
i,
h1,
h2,
h3,
h4,
h5,
h6,
.welcome-msg,
.price,
.product-name,
.widget-title,
.widget-about-title,
.widget-body,
.widget-body a,
.main-nav a,
.category-toggle,
.cart-toggle,
.header-top a,
.header-middle a,
.header-bottom a,
.header-top .welcome-msg,
.text-primary,
a.text-primary,
.post-cats.text-primary,
.banner-subtitle.text-primary,
.font-weight-bold.text-primary,
.text-primary.text-uppercase,
.text-primary.text-capitalize,
.text-primary.link-to-tab,
.text-primary.btn-link,
.text-dark,
.mail-link {
	color: #1f1f1f !important;
	fill: #1f1f1f !important;
}

/* Navigation & link hover states - crisp dark black */
header .header-top a:hover,
header .header-middle a:hover,
.header-bottom .main-nav a:hover,
.header-bottom .category-toggle:hover,
.header-bottom .cart-toggle:hover,
a:hover {
	color: #000000 !important;
}

/* Green Brand Backgrounds & Buttons with White Text */
.bg-primary,
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-danger,
.btn-search,
.footer-newsletter.bg-primary,
.circle-icon.bg-primary,
.bg-primary.text-white,
.product-label-group .product-label.label-hot,
.product-label-group .product-label.label-new,
.badge-primary,
.cart-count {
	background-color: var(--public-accent) !important;
	border-color: var(--public-accent) !important;
	color: #ffffff !important;
}

.btn-search i,
.btn-search:hover i,
.btn-search:focus i,
.btn-search:active i {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.cart-dropdown .cart-action .btn {
	background-color: var(--public-accent) !important;
	border-color: var(--public-accent) !important;
	color: #ffffff !important;
}

.cart-dropdown .cart-action .btn:hover,
.cart-dropdown .cart-action .btn:focus,
.cart-dropdown .cart-action .btn:active {
	background-color: var(--public-accent-dark) !important;
	border-color: var(--public-accent-dark) !important;
	color: #ffffff !important;
}

.footer a,
.footer a:visited,
.footer .widget-title,
.footer .widget-about-title,
.footer .widget-body,
.footer .widget-body a,
.footer .copyright,
.footer .payment-label,
.footer .footer-bottom,
.footer .footer-left,
.footer .footer-right {
	color: #1f1f1f !important;
}

.footer .footer-newsletter,
.footer .footer-newsletter a,
.footer .footer-newsletter p,
.footer .footer-newsletter .text-white,
.footer .footer-newsletter .icon-box-title {
	color: #ffffff !important;
}

.border-primary,
.text-primary.border-primary {
	border-color: var(--public-accent) !important;
}

/* Ensure product cart button & cart icon in product section are always visible */
.product-hidden-details .product-action,
.product-hidden-details .btn-product-icon,
.product-action .btn-product-icon,
.product-action .btn-cart {
	visibility: visible !important;
	opacity: 1 !important;
}

.product-hidden-details .btn-cart i,
.btn-product-icon i,
.btn-cart i {
	display: inline-block !important;
	font-size: 1.8rem !important;
	line-height: 1 !important;
	color: #1f1f1f !important;
}

.product-action .btn-product-icon,
.product-action .btn-cart {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background-color: #f5f5f5 !important;
	border: 1px solid #e1e1e1 !important;
	transition: all 0.25s ease !important;
}

.product-action .btn-product-icon:hover,
.product-action .btn-cart:hover {
	background-color: var(--public-accent) !important;
	border-color: var(--public-accent) !important;
}

.product-action .btn-product-icon:hover i,
.product-action .btn-cart:hover i {
	color: #ffffff !important;
}

/* Cart Page Buttons - Black Background with White Text */
.btn-shopping,
.btn-checkout,
.cart-action .btn-shopping,
.cart-summary .btn-checkout,
a.btn-shopping,
a.btn-checkout,
a.btn-shopping i,
a.btn-checkout i {
	background-color: #000000 !important;
	border-color: #000000 !important;
	color: #ffffff !important;
	fill: #ffffff !important;
}

.btn-shopping:hover,
.btn-checkout:hover,
.btn-shopping:focus,
.btn-checkout:focus,
.btn-shopping:active,
.btn-checkout:active,
a.btn-shopping:hover,
a.btn-checkout:hover,
a.btn-shopping:hover i,
a.btn-checkout:hover i {
	background-color: #222222 !important;
	border-color: #222222 !important;
	color: #ffffff !important;
	fill: #ffffff !important;
}

/* Mobile View ONLY (max-width: 991px) - White Text for Mobile Drawer & Hide Header Bottom */
@media (max-width: 991px) {

	.header-bottom,
	.header-bottom.sticky-content,
	header .header-bottom {
		display: none !important;
	}

	.mobile-menu-container {
		background-color: #212529 !important;
	}

	.mobile-menu-wrapper,
	.mobile-menu-container,
	.mobile-menu-container .mobile-menu li a,
	.mobile-menu-container .mobile-menu li a b,
	.mobile-menu-container #main-menu .mobile-menu li a,
	.mobile-menu-container #categories .mobile-menu li a,
	.mobile-menu-container #categories .mobile-menu li a b,
	.mobile-menu-container .nav-tabs .nav-link,
	.mobile-menu-container .nav-tabs .nav-link.active {
		color: #ffffff !important;
	}

	.mobile-menu-container #main-menu .mobile-menu li a,
	.mobile-menu-container #categories .mobile-menu li a {
		font-size: 1.4rem !important;
		font-weight: 600 !important;
		padding: 12px 15px !important;
		display: block !important;
	}

	.mobile-menu-container #main-menu .mobile-menu li a:hover,
	.mobile-menu-container #categories .mobile-menu li a:hover {
		color: #ffffff !important;
		background-color: var(--public-accent) !important;
	}
}

/* Desktop View ONLY (min-width: 992px) - Clean Black Text (#1f1f1f) */
@media (min-width: 992px) {

	.category-dropdown .category-toggle,
	.category-dropdown .category-toggle span,
	.category-dropdown .category-toggle i,
	.category-menu a,
	.category-menu a b,
	.category-menu li a,
	.main-nav .menu>li>a,
	.header-bottom .menu>li>a {
		color: #1f1f1f !important;
	}

	.category-menu a:hover,
	.category-menu a:hover b,
	.main-nav .menu>li>a:hover {
		color: var(--public-accent) !important;
	}
}

/* Scroll-to-Top Button Styling Fix */
#scroll-top i,
#scroll-top i:before,
.scroll-top i,
.scroll-top i:before {
	color: #ffffff !important;
	fill: #ffffff !important;
	background-color: var(--public-accent, #00A859) !important;
	border-color: var(--public-accent, #00A859) !important;
}

#scroll-top svg circle,
.scroll-top svg circle {
	stroke: var(--public-accent, #00A859) !important;
}

/* Allow dynamic error message colors */
#error {
	display: block;
	margin-bottom: 12px;
	font-weight: 600;
}