/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* -----------------------------------------------------------------------------
 * Search results — product-card styling for featured image + hide post meta
 * -------------------------------------------------------------------------- */

.search-results .ast-article-post .post-thumb-img-content img
{
	aspect-ratio: auto;
}
.search-results .post-thumb-img-content.post-thumb
{
   max-width: 100%;
   margin: auto !important;
}
#ast-fixed-header{display:none!important}
/* -----------------------------------------------------------------------------
 * Header polish — bring the 6LABZ header closer to a premium retail look
 * (CSS-only; no markup or menu-item changes)
 * -------------------------------------------------------------------------- */

/* Top utility bar: uppercase shipping promo + truck glyph */
.ast-above-header-bar .widget p {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 700;
	font-size: 13px !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
    margin-top: 6px !important;
	margin: 0;
}

.ast-above-header-bar .widget p::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='1' y='3' width='15' height='13' rx='1'/><polygon points='16 8 20 8 23 11 23 16 16 16 16 8'/><circle cx='5.5' cy='18.5' r='2.5'/><circle cx='18.5' cy='18.5' r='2.5'/></svg>") center / contain no-repeat;
	flex: 0 0 18px;
}

.ast-header-account-wrap .ast-header-account-link {
	font-size: 13px;
	letter-spacing: 0.05em;
}

/* Primary header: more vertical breathing room + clean bottom separator */
.ast-primary-header-bar.main-header-bar {
	padding-top: 6px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(15, 51, 79, 0.08);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}

.site-branding .site-logo-img img.custom-logo {
	max-height: 64px;
	width: auto;
	height: auto;
}

/* Main menu: uppercase, bold, spaced like a premium retail nav — single row */
.ast-builder-menu-1 .main-header-bar-navigation,
.ast-builder-menu-1 .site-navigation,
.ast-builder-menu-1 .main-navigation {
	flex-wrap: nowrap;
	white-space: nowrap;
}

#ast-hf-menu-1.main-header-menu {
	gap: 4px;
	flex-wrap: nowrap !important;
	white-space: nowrap;
}

#ast-hf-menu-1 > .menu-item {
	flex: 0 0 auto;
}

#ast-hf-menu-1 > .menu-item > .menu-link {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.08em;
	padding: 14px 12px;
	color: #0f334f;
	position: relative;
	white-space: nowrap;
	transition: color 0.18s ease;
}

#ast-hf-menu-1 > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 6px;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.2s ease;
}

#ast-hf-menu-1 > .menu-item > .menu-link:hover {
	color: #013851;
}

#ast-hf-menu-1 > .menu-item:hover > .menu-link::after,
#ast-hf-menu-1 > .menu-item.current-menu-item > .menu-link::after,
#ast-hf-menu-1 > .menu-item.current-menu-ancestor > .menu-link::after {
	transform: scaleX(1);
}

#ast-hf-menu-1 > .menu-item.current-menu-item > .menu-link,
#ast-hf-menu-1 > .menu-item.current-menu-ancestor > .menu-link {
	color: #013851;
}

/* ------- Always-visible full-width search bar (replaces slide-out icon) ------- */
.ast-header-search {
	flex: 1 1 auto;
	max-width: none;
	width: 100%;
	min-width: 0;
	margin: 0 16px;
}

@media (min-width: 922px) {
	.ast-header-search {
		min-width: 240px;
		margin: 0 24px;
	}
}

/* Force Astra's center column to grow so the search spans logo→right cluster (desktop only) */
@media (min-width: 922px) {
	#ast-desktop-header .site-primary-header-wrap.ast-builder-grid-row-container {
		display: grid !important;
		grid-template-columns: auto 1fr auto !important;
		align-items: center;
		gap: 16px;
	}

	#ast-desktop-header .site-primary-header-wrap > .ast-builder-grid-row {
		display: contents;
	}

	#ast-desktop-header .site-header-primary-section-left {
		grid-column: 1;
		justify-self: start;
	}

	#ast-desktop-header .site-header-primary-section-center {
		grid-column: 2;
		width: 100%;
		min-width: 0;
		display: flex;
		align-items: center;
	}

	#ast-desktop-header .site-header-primary-section-right {
		grid-column: 3;
		justify-self: end;
	}

	#ast-desktop-header .site-header-primary-section-center .ast-header-search {
		flex: 1 1 100%;
		width: 100%;
		max-width: none;
		margin: 0;
	}
}

/* Hide the icon trigger — we're showing the form inline instead */
.ast-header-search .ast-search-icon {
	display: none !important;
}

/* Force the slide-out form to be visible inline */
.ast-header-search .ast-search-menu-icon.slide-search,
.ast-header-search .ast-search-menu-icon.slide-search.ast-dropdown-active {
	width: 100%;
	overflow: visible;
}

.ast-header-search .ast-search-menu-icon .search-form {
	position: static !important;
	visibility: visible !important;
	opacity: 1 !important;
	display: flex !important;
	width: 100%;
	background: #f6f8fa;
	border: 1px solid #d8dde3;
	border-radius: 10px;
	overflow: hidden;
	padding: 0;
	box-shadow: none;
	transform: none !important;
}

.ast-header-search .ast-search-menu-icon .search-form label {
	flex: 1;
	display: flex;
	align-items: center;
	margin: 0;
	min-width: 0;
}


.ast-header-search input.search-field {
	flex: 1;
	min-width: 0;
	border: none !important;
	background: transparent !important;
	padding: 12px 16px !important;
	font-size: 14px;
	color: #1a2b3c;
	box-shadow: none !important;
	height: auto !important;
	width: 100% !important;
}

.ast-header-search input.search-field::placeholder {
	color: #8a96a3;
	font-weight: 400;
}

.ast-header-search input.search-field:focus {
	outline: none;
	box-shadow: none !important;
}

.ast-header-search .ast-search-menu-icon .search-form:focus-within {
	border-color: #013851;
	box-shadow: 0 0 0 3px rgba(1, 56, 81, 0.20);
}

/* Theme-color submit button — solid pill on the right */
.ast-header-search button.search-submit {
	background: #013851 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 0 18px !important;
	margin: 4px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.18s ease;
	min-height: 36px;
}

.ast-header-search button.search-submit:hover {
	background: #025074 !important;
}

.ast-header-search button.search-submit svg {
	width: 18px;
	height: 18px;
	fill: #fff;
}

.ast-header-search button.search-submit svg path {
	fill: #fff;
}

.ast-header-search button.search-submit [hidden] {
	display: none;
}

/* Cart: tidy outline, consistent height with menu items, no wrapping */
.ast-site-header-cart,
.ast-site-header-cart-li,
.ast-site-header-cart .cart-container,
.ast-addon-cart-wrap,
.ast-site-header-cart-data {
	white-space: nowrap;
}

.ast-site-header-cart .ast-cart-amount,
.ast-site-header-cart .woocommerce-Price-amount,
.ast-site-header-cart .ast-woo-header-cart-info-wrap {
	white-space: nowrap !important;
	display: inline-flex !important;
	align-items: center;
}

.ast-site-header-cart .cart-container {
	padding: 10px 14px;
	border-radius: 6px;
	transition: background 0.18s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ast-site-header-cart .cart-container:hover {
	background: rgba(1, 56, 81, 0.06);
}

.ast-site-header-cart .ast-icon-shopping-bag svg {
	width: 22px;
	height: 22px;
}

/* Right-side group: keep search / menu / cart on one horizontal row */
.site-header-primary-section-right.site-header-section {
	gap: 8px;
	align-items: center;
	flex: 1 1 auto;
	justify-content: flex-end;
	flex-wrap: nowrap;
}

/* Search sits in the middle, menu + cart pushed to the far right */
.site-header-primary-section-right .ast-header-search {
	order: 1;
	margin-right: auto;
}
.site-header-primary-section-right .ast-builder-menu-1 {
	order: 2;
	flex: 0 0 auto;
}
.site-header-primary-section-right .ast-header-woo-cart {
	order: 3;
	flex: 0 0 auto;
}

/* ---------- Category dropdown inside the search pill (left side) ---------- */
.ast-header-search .six-labz-cat-wrap {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	border-right: 1px solid #d8dde3;
	padding-left: 4px;
}

.ast-header-search .six-labz-cat-select {
	border: none;
	background: transparent;
	font-size: 13px;
	font-weight: 500;
	color: #1a2b3c;
	padding: 10px 28px 10px 14px;
	margin: 0;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%231a2b3c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 8 10 12 14 8'/></svg>");
	background-repeat: no-repeat;
	background-position: right 8px center;
	background-size: 12px 12px;
	min-width: 130px;
	max-width: 160px;
	outline: none;
	height: auto;
	line-height: 1.2;
}

.ast-header-search .six-labz-cat-select:focus {
	outline: none;
	box-shadow: none;
}

.ast-header-search .six-labz-cat-select option {
	color: #1a2b3c;
	background: #fff;
}

/* ---------- "Help" link in the above-header utility bar ---------- */
.six-labz-help-link {
	display: inline-flex;
	align-items: center;
	gap: 15px;
}

.six-labz-help-link .six-labz-divider {
	width: 1px;
	height: 14px;
	background: rgba(255, 255, 255, 0.35);
	display: inline-block;
	margin: 0 4px;
}

.six-labz-help-link-a,
.six-labz-help-link-a:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff !important;
	text-decoration: none;
	font-size: 13px;
	letter-spacing: 0.05em;
	font-weight: 500;
	transition: opacity 0.18s ease;
	opacity: 1;
}

.six-labz-help-link-a:hover,
.six-labz-help-link-a:focus {
	opacity: 0.85;
	color: #ffffff !important;
	text-decoration: none;
}

.six-labz-help-link .six-labz-help-icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>") center / contain no-repeat;
}

/* ---------- Below-header row: force visible so the moved Primary Menu shows ---------- */
.ast-below-header-bar,
.ast-below-header-wrap .ast-below-header-bar {
	display: flex !important;
	background-color: #ffffff !important;
	border-bottom: 1px solid rgba(15, 51, 79, 0.08) !important;
	min-height: 44px;
}

.ast-below-header-bar .site-below-header-wrap {
	width: 100%;
}

.ast-below-header-bar .main-header-menu {
	gap: 4px;
	flex-wrap: nowrap !important;
	white-space: nowrap;
	justify-content: center;
}

.ast-below-header-bar .main-header-menu > .menu-item > .menu-link {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.10em;
	padding: 12px 18px;
	color: #0f334f;
	position: relative;
	white-space: nowrap;
	line-height: 1.4;
	transition: color 0.18s ease;
}

.ast-below-header-bar .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 4px;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.2s ease;
}

.ast-below-header-bar .main-header-menu > .menu-item:hover > .menu-link,
.ast-below-header-bar .main-header-menu > .menu-item.current-menu-item > .menu-link,
.ast-below-header-bar .main-header-menu > .menu-item.current-menu-ancestor > .menu-link {
	color: #013851;
}

.ast-below-header-bar .main-header-menu > .menu-item:hover > .menu-link::after,
.ast-below-header-bar .main-header-menu > .menu-item.current-menu-item > .menu-link::after,
.ast-below-header-bar .main-header-menu > .menu-item.current-menu-ancestor > .menu-link::after {
	transform: scaleX(1);
}

/* Tablet: tighten menu + shrink dropdown so the header stays on one row */
@media (max-width: 1199px) {
	#ast-hf-menu-1 > .menu-item > .menu-link {
		font-size: 12px;
		padding: 12px 8px;
		letter-spacing: 0.05em;
	}
	.ast-header-search .six-labz-cat-select {
		min-width: 100px;
		max-width: 120px;
		font-size: 12px;
		padding: 10px 24px 10px 10px;
	}
}

/* Phone: hide dropdown + help link, keep input usable */
@media (max-width: 600px) {
	.ast-header-search .six-labz-cat-wrap {
		display: none;
	}
	.six-labz-help-link {
		display: none;
	}
}

/* Mobile: keep nav readable on small screens */
@media (max-width: 921px) {
	#ast-hf-menu-1 > .menu-item > .menu-link {
		font-size: 13px;
		padding: 12px 12px;
		letter-spacing: 0.08em;
	}
	.site-branding .site-logo-img img.custom-logo {
		max-height: 40px;
	}

	/* Top bar: compact shipping promo, prevent horizontal overflow */
	.ast-above-header-bar {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	.ast-above-header-bar .widget p {
		font-size: 10px !important;
		letter-spacing: 0.06em;
		gap: 6px;
	}
	.ast-above-header-bar .widget p::before {
		width: 14px;
		height: 14px;
		flex: 0 0 14px;
	}
	.ast-above-header-bar .ast-header-account-link,
	.ast-above-header-bar .ahfb-svg-iconset svg {
		width: 16px;
		height: 16px;
	}

	/* Mobile: keep the search bar inside the viewport */
	#ast-mobile-header .ast-header-search,
	#ast-mobile-header .site-header-primary-section-right,
	#ast-mobile-header .ast-builder-grid-row {
		min-width: 0 !important;
		max-width: 100%;
	}

	/* Mobile primary header: logo + hamburger on row 1, search on row 2 (grid) */
	#ast-mobile-header .ast-primary-header-bar .ast-builder-grid-row {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		grid-template-areas:
			"logo trigger"
			"search search" !important;
		gap: 10px !important;
		align-items: center;
		width: 100%;
	}
	#ast-mobile-header .ast-primary-header-bar .site-header-primary-section-left {
		grid-area: logo;
		min-width: 0;
		justify-self: start;
	}
	#ast-mobile-header .ast-primary-header-bar .site-header-primary-section-right {
		display: contents !important;
	}
	#ast-mobile-header .ast-primary-header-bar .ast-builder-menu-mobile,
	#ast-mobile-header .ast-primary-header-bar [data-section="section-header-mobile-trigger"] {
		grid-area: trigger;
		justify-self: end;
	}
	#ast-mobile-header .ast-primary-header-bar .ast-header-search {
		grid-area: search;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.ast-header-search .ast-search-menu-icon.slide-search {
		width: 100% !important;
		max-width: 100%;
	}

	.ast-header-search .ast-search-menu-icon .search-form {
		width: 100% !important;
		max-width: 100%;
	}

	.ast-header-search input.search-field {
		font-size: 13px !important;
		padding: 10px 12px !important;
		min-width: 0 !important;
		width: 100% !important;
	}
	.ast-header-search button.search-submit {
		padding: 0 12px !important;
		margin: 3px !important;
		min-height: 32px;
		flex: 0 0 auto;
	}
	.ast-header-search button.search-submit svg {
		width: 16px;
		height: 16px;
	}

	/* Cart total: keep visible but smaller on mobile */
	.ast-site-header-cart .cart-container {
		padding: 6px 8px;
		gap: 4px;
	}
	.ast-site-header-cart .ast-icon-shopping-bag svg {
		width: 18px;
		height: 18px;
	}

	/* Below-header menu: smaller, allow horizontal scroll if needed */
	.ast-below-header-bar .main-header-menu {
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.ast-below-header-bar .main-header-menu::-webkit-scrollbar {
		display: none;
	}
	.ast-below-header-bar .main-header-menu > .menu-item > .menu-link {
		font-size: 12px;
		padding: 10px 12px;
		letter-spacing: 0.06em;
	}

	/* Hide all global horizontal overflow */
	body,
	html {
		overflow-x: hidden;
	}
}

/* Small phones: hide non-essentials, keep just the brand + hamburger + search */
@media (max-width: 600px) {
	.ast-above-header-bar .widget p {
		font-size: 12px !important;
	}
}

.ast-desktop .ast-header-search .slide-search .search-form{
    border: 1px solid #d8dde3;
}

/* =============================================================================
 * PRODUCT LISTING — Shop / Category / Search archive pages
 * Beautiful card design, hover lift, image zoom, theme-color buttons
 * ============================================================================*/

/* ---------- Archive page hero band ---------- */
.woocommerce .woocommerce-products-header,
.woocommerce-page header.woocommerce-products-header,
body.archive .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header {
	background: linear-gradient(180deg, #f6f8fa 0%, #ffffff 100%);
	border-bottom: 1px solid #ebeef2;
	padding: 36px 32px 32px;
	margin: 0 0 28px;
	border-radius: 14px;
	position: relative;
	text-align: center;
	overflow: hidden;
}

.woocommerce .woocommerce-products-header::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #013851 0%, #025074 60%, #036fa3 100%);
}

.woocommerce .woocommerce-products-header__title.page-title {
	font-size: 36px;
	font-weight: 800;
	color: #0f334f;
	letter-spacing: -0.02em;
	margin: 0 0 8px;
	text-transform: capitalize;
	line-height: 1.1;
}

.woocommerce .woocommerce-products-header .term-description,
.woocommerce-products-header .term-description {
	color: #5a6877;
	font-size: 14px;
	max-width: 640px;
	margin: 0 auto;
	line-height: 1.55;
}

@media (max-width: 921px) {
	.woocommerce .woocommerce-products-header {
		padding: 24px 18px 22px;
		margin: 0 0 20px;
		border-radius: 10px;
	}
	.woocommerce .woocommerce-products-header__title.page-title {
		font-size: 26px;
	}
}

.woocommerce .woocommerce-result-count {
	color: #6b7785;
	font-size: 13px;
	margin: 0 0 18px;
}

.woocommerce .woocommerce-ordering select {
	padding: 8px 36px 8px 14px;
	border: 1px solid #d8dde3;
	border-radius: 8px;
	font-size: 13px;
	background-color: #fff;
	color: #1a2b3c;
	cursor: pointer;
	transition: border-color 0.18s ease;
}

.woocommerce .woocommerce-ordering select:focus {
	outline: none;
	border-color: #013851;
	box-shadow: 0 0 0 3px rgba(1, 56, 81, 0.15);
}

/* Product grid */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce ul.products.columns-1 { grid-template-columns: 1fr; }

@media (max-width: 1199px) {
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 921px) {
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 480px) {
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-2 { grid-template-columns: 1fr; gap: 14px; }
}

/* Product card */
.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff;
	border: 1px solid #ebeef2;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	float: none !important;
	clear: none !important;
	position: relative;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 42px -18px rgba(15, 51, 79, 0.25);
	border-color: #d8dde3;
}

/* Image area */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
	position: relative;
	overflow: hidden;
	background: #f6f8fa;
	aspect-ratio: 1 / 1;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a {
	display: block;
	width: 100%;
	height: 100%;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	margin: 0 !important;
	transition: transform 0.45s ease;
}

.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img {
	transform: scale(1.05);
}

/* Sale badge */
.woocommerce ul.products li.product .ast-onsale-card,
.woocommerce ul.products li.product .onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	background: #013851;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 6px 10px;
	border-radius: 999px;
	z-index: 2;
	margin: 0;
	line-height: 1;
	min-height: auto;
	min-width: auto;
}

/* Hide Astra's hover add-to-cart icon — keep only the explicit button below */
.woocommerce ul.products li.product .ast-on-card-button.ast-select-options-trigger,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a.ast-on-card-button {
	display: none !important;
}

.woocommerce ul.products li.product .ast-card-action-tooltip {
	display: none;
}

/* Summary area */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	gap: 6px;
	text-align: left;
}

.woocommerce ul.products li.product .ast-woo-product-category {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.10em;
	color: #6b7785;
	font-weight: 600;
}

.woocommerce ul.products li.product .ast-loop-product__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 17px !important;
	font-weight: 700;
	color: #0f334f;
	line-height: 1.3;
	margin: 0 !important;
	padding: 0 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
	transition: color 0.18s ease;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
	color: #013851;
}

/* Price block — same size as title, theme color so it stands by hue not weight */
.woocommerce ul.products li.product .price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 4px 0 10px;
	font-size: 16px;
	color: #013851;
	font-weight: 700;
	letter-spacing: -0.005em;
}

.woocommerce ul.products li.product .price ins {
	background: transparent;
	color: #013851;
	text-decoration: none;
	font-weight: 700;
}

.woocommerce ul.products li.product .price del {
	color: #98a2b1;
	font-weight: 500;
	font-size: 13px;
	opacity: 1;
}

.woocommerce ul.products li.product .price del .woocommerce-Price-amount {
	color: inherit;
}

.woocommerce ul.products li.product .price .screen-reader-text {
	display: none;
}

/* Add to cart button (in summary) */
.woocommerce ul.products li.product .astra-shop-summary-wrap a.button.add_to_cart_button,
.woocommerce ul.products li.product .astra-shop-summary-wrap a.added_to_cart {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #013851;
	color: #ffffff;
	border: none;
	border-radius: 10px;
	padding: 11px 18px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none;
	width: 100%;
	cursor: pointer;
	transition: background 0.18s ease, transform 0.18s ease;
	min-height: auto;
	line-height: 1.2;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap a.button.add_to_cart_button:hover,
.woocommerce ul.products li.product .astra-shop-summary-wrap a.added_to_cart:hover {
	background: #025074;
	color: #ffffff;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap a.button.add_to_cart_button.added {
	background: #2c9c5b;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap a.button.add_to_cart_button.loading::after {
	color: #fff;
}

/* "Select options" / "Read more" — outline variant */
.woocommerce ul.products li.product .astra-shop-summary-wrap a.button:not(.add_to_cart_button):not(.added_to_cart) {
	margin-top: auto;
	background: transparent;
	color: #013851;
	border: 1px solid #013851;
	border-radius: 10px;
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-align: center;
	transition: background 0.18s ease, color 0.18s ease;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap a.button:not(.add_to_cart_button):hover {
	background: #013851;
	color: #fff;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
	margin: 36px 0 16px;
	text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
	border: none;
	padding: 0;
	margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none;
	margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	background: #fff;
	border: 1px solid #ebeef2;
	color: #0f334f;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: rgba(1, 56, 81, 0.06);
	border-color: #013851;
	color: #013851;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: #013851;
	border-color: #013851;
	color: #ffffff;
}

/* No products / info messages */
.woocommerce .woocommerce-info,
.woocommerce-no-products-found .woocommerce-info {
	background: #f6f8fa;
	border: 1px solid #ebeef2;
	border-left: 4px solid #013851;
	border-radius: 8px;
	padding: 14px 18px;
	color: #0f334f;
	font-size: 14px;
}

/* ---------- Mobile product card refinements ---------- */
@media (max-width: 921px) {
	.woocommerce ul.products li.product {
		border-radius: 12px;
	}
	.woocommerce ul.products li.product .astra-shop-summary-wrap {
		padding: 12px 14px 14px;
		gap: 4px;
	}
	.woocommerce ul.products li.product .ast-woo-product-category {
		font-size: 10px;
		letter-spacing: 0.08em;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 16px !important;
		line-height: 1.3;
		min-height: 1.3em;
	}
	.woocommerce ul.products li.product .price {
		font-size: 16px;
		gap: 6px;
		margin: 2px 0 10px;
	}
	.woocommerce ul.products li.product .price del {
		font-size: 13px;
	}
	.woocommerce ul.products li.product .astra-shop-summary-wrap a.button.add_to_cart_button,
	.woocommerce ul.products li.product .astra-shop-summary-wrap a.added_to_cart,
	.woocommerce ul.products li.product .astra-shop-summary-wrap a.button:not(.add_to_cart_button):not(.added_to_cart) {
		padding: 10px 8px;
		font-size: 10px;
		letter-spacing: 0.04em;
		border-radius: 8px;
		min-height: 38px;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
}

@media (max-width: 480px) {
	.woocommerce ul.products li.product .astra-shop-summary-wrap {
		padding: 14px 16px 16px;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 17px !important;
		min-height: 1.3em;
	}
	.woocommerce ul.products li.product .price {
		font-size: 17px;
	}
	.woocommerce ul.products li.product .astra-shop-summary-wrap a.button.add_to_cart_button,
	.woocommerce ul.products li.product .astra-shop-summary-wrap a.added_to_cart,
	.woocommerce ul.products li.product .astra-shop-summary-wrap a.button:not(.add_to_cart_button):not(.added_to_cart) {
		padding: 11px 16px;
		font-size: 12px;
		min-height: 44px;
	}
}

/* Category pill buttons (snippet #20) — polish to match theme */
.custom-wc-top-cats .custom-wc-cat-btn {
	background: #fff !important;
	border: 1px solid #d8dde3 !important;
	color: #0f334f !important;
	border-radius: 999px !important;
	padding: 9px 18px !important;
	font-weight: 600 !important;
	transition: all 0.18s ease !important;
}

.custom-wc-top-cats .custom-wc-cat-btn:hover,
.custom-wc-top-cats .custom-wc-cat-btn.active {
	background: #013851 !important;
	border-color: #013851 !important;
	color: #ffffff !important;
}

/* =============================================================================
 * FORMINATOR FORMS — theme-matched styling (Contact page + anywhere)
 * ============================================================================*/
.forminator-ui.forminator-design--default .forminator-row {
	gap: 18px;
	margin-bottom: 18px !important;
}

.forminator-ui.forminator-design--default .forminator-col {
	padding: 0;
}

.forminator-ui.forminator-design--default .forminator-label {
	color: #0f334f !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: 0.02em !important;
	margin-bottom: 8px !important;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.forminator-ui.forminator-design--default .forminator-required {
	color: #d72d4a !important;
}

.forminator-ui.forminator-design--default input[type="text"],
.forminator-ui.forminator-design--default input[type="email"],
.forminator-ui.forminator-design--default input[type="tel"],
.forminator-ui.forminator-design--default input[type="url"],
.forminator-ui.forminator-design--default input[type="number"],
.forminator-ui.forminator-design--default input[type="password"],
.forminator-ui.forminator-design--default input[type="date"],
.forminator-ui.forminator-design--default textarea,
.forminator-ui.forminator-design--default select {
	border: 1px solid #d8dde3 !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-size: 14px !important;
	background: #ffffff !important;
	color: #1a2b3c !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
	min-height: 44px !important;
	height: auto !important;
	box-shadow: none !important;
}

.forminator-ui.forminator-design--default input:focus,
.forminator-ui.forminator-design--default textarea:focus,
.forminator-ui.forminator-design--default select:focus {
	border-color: #013851 !important;
	box-shadow: 0 0 0 3px rgba(1, 56, 81, 0.15) !important;
	outline: none !important;
	background: #ffffff !important;
}

.forminator-ui.forminator-design--default input::placeholder,
.forminator-ui.forminator-design--default textarea::placeholder {
	color: #98a2b1 !important;
	opacity: 1 !important;
}

.forminator-ui.forminator-design--default textarea {
	min-height: 130px !important;
	resize: vertical;
}

/* Character counter (e.g. 0/180) */
.forminator-ui.forminator-design--default .forminator-description {
	color: #98a2b1 !important;
	font-size: 12px !important;
	margin-top: 6px !important;
}

/* Validation error */
.forminator-ui.forminator-design--default .forminator-error-message {
	color: #d72d4a !important;
	font-size: 12px !important;
	margin-top: 6px !important;
}

.forminator-ui.forminator-design--default input.forminator-has_error,
.forminator-ui.forminator-design--default textarea.forminator-has_error,
.forminator-ui.forminator-design--default select.forminator-has_error {
	border-color: #d72d4a !important;
}

/* Submit button */
.forminator-ui.forminator-design--default button.forminator-button,
.forminator-ui.forminator-design--default button.forminator-button-submit,
.forminator-ui button.forminator-button[type="submit"] {
	background: #013851 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 14px 32px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.10em !important;
	cursor: pointer !important;
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
	min-height: 48px !important;
	height: auto !important;
	width: 100%;
	max-width: 240px;
	box-shadow: 0 4px 14px -6px rgba(1, 56, 81, 0.5);
}

.forminator-ui.forminator-design--default button.forminator-button:hover,
.forminator-ui.forminator-design--default button.forminator-button-submit:hover {
	background: #025074 !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px -8px rgba(1, 56, 81, 0.55);
}

.forminator-ui.forminator-design--default button.forminator-button:active {
	transform: translateY(0);
}

/* Success / error post-submit messages */
.forminator-ui .forminator-response-message.forminator-success {
	background: #e6f5ec !important;
	border: 1px solid #b6e0c4 !important;
	border-left: 4px solid #2c9c5b !important;
	color: #1d6e40 !important;
	border-radius: 8px !important;
	padding: 14px 18px !important;
	font-size: 14px !important;
}

.forminator-ui .forminator-response-message.forminator-error {
	background: #fbeaed !important;
	border: 1px solid #f1c2cb !important;
	border-left: 4px solid #d72d4a !important;
	color: #8b1f33 !important;
	border-radius: 8px !important;
	padding: 14px 18px !important;
	font-size: 14px !important;
}

/* Contact page: align both columns to the top so the form doesn't float */
.page-id-303 .e-con-inner,
.page-id-303 .elementor-row,
.page-id-303 .elementor-section .elementor-container {
	align-items: flex-start;
}

/* Contact page: cap form width so it doesn't spread too wide */
.page-id-303 .forminator-ui {
	max-width: 560px;
}

/* Mobile: stack tighter */
@media (max-width: 921px) {
	.forminator-ui.forminator-design--default button.forminator-button,
	.forminator-ui.forminator-design--default button.forminator-button-submit {
		max-width: 100%;
		padding: 13px 24px !important;
	}
}

/* =============================================================================
 * CONTACT HERO BANNER — [labz_contact_banner]
 * Image-left, content-right, dark navy retail-feel
 * ============================================================================*/
.labz-catalog-banner {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	background: linear-gradient(135deg, #061827 0%, #0a2c43 45%, #013851 100%);
	border-radius: 18px;
	color: #ffffff;
	padding: 0;
	margin: 32px 0;
	overflow: hidden;
	position: relative;
	box-shadow: 0 24px 60px -20px rgba(1, 24, 40, 0.55);
	min-height: 360px;
}

.labz-catalog-banner::before {
	content: "";
	position: absolute;
	top: -160px;
	right: -120px;
	width: 360px;
	height: 360px;
	background: radial-gradient(circle, rgba(110, 231, 195, 0.10), transparent 65%);
	pointer-events: none;
	z-index: 0;
}

.labz-catalog-banner::after {
	content: "";
	position: absolute;
	bottom: -120px;
	left: 30%;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(98, 133, 153, 0.18), transparent 65%);
	pointer-events: none;
	z-index: 0;
}

/* ---- Form card (left) ---- */
.labz-cb-formwrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 36px 30px;
	z-index: 1;
}

.labz-cb-formwrap::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 30% 35%, rgba(110, 231, 195, 0.10), transparent 65%);
	pointer-events: none;
}

.labz-cb-formcard {
	position: relative;
	width: 100%;
	max-width: 440px;
	background: #ffffff;
	border-radius: 16px;
	padding: 26px 26px 22px;
	box-shadow: 0 22px 50px -16px rgba(0, 0, 0, 0.45);
}

.labz-cb-formcard-head {
	margin-bottom: 18px;
	padding-bottom: 16px;
	border-bottom: 1px solid #ebeef2;
}

.labz-cb-formcard-title {
	font-size: 20px;
	font-weight: 800;
	color: #0f334f;
	letter-spacing: -0.01em;
	margin: 0 0 4px;
}

.labz-cb-formcard-sub {
	font-size: 13px;
	color: #5a6877;
	margin: 0;
}

/* Tighten Forminator form spacing inside the card */
.labz-cb-formcard .forminator-ui.forminator-design--default .forminator-row {
	margin-bottom: 12px !important;
}

.labz-cb-formcard .forminator-ui.forminator-design--default .forminator-label {
	font-size: 12px !important;
	margin-bottom: 5px !important;
}

.labz-cb-formcard .forminator-ui.forminator-design--default input[type="text"],
.labz-cb-formcard .forminator-ui.forminator-design--default input[type="email"],
.labz-cb-formcard .forminator-ui.forminator-design--default input[type="tel"],
.labz-cb-formcard .forminator-ui.forminator-design--default textarea {
	padding: 10px 12px !important;
	font-size: 13px !important;
	min-height: 40px !important;
}

.labz-cb-formcard .forminator-ui.forminator-design--default textarea {
	min-height: 90px !important;
}

.labz-cb-formcard .forminator-ui.forminator-design--default button.forminator-button,
.labz-cb-formcard .forminator-ui.forminator-design--default button.forminator-button-submit {
	width: 100%;
	max-width: 100%;
	padding: 12px 20px !important;
	min-height: 44px !important;
	margin-top: 4px;
}

/* ---- Content side (right) ---- */
.labz-cb-content {
	position: relative;
	padding: 44px 44px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 1;
}

.labz-cb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #6ee7c3;
	background: rgba(110, 231, 195, 0.10);
	border: 1px solid rgba(110, 231, 195, 0.30);
	padding: 5px 12px;
	border-radius: 999px;
	margin-bottom: 16px;
	width: fit-content;
}

.labz-cb-title {
	font-size: 30px;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 12px;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.labz-cb-subtitle {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 22px;
	max-width: 540px;
	line-height: 1.6;
}

.labz-cb-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}

.labz-cb-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: #f6f8fa;
	border: 1px solid #ebeef2;
	border-radius: 14px;
	color: #0f334f !important;
	text-decoration: none !important;
	transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.labz-cb-card:hover {
	transform: translateY(-3px);
	background: #ffffff;
	border-color: #013851;
	color: #013851 !important;
	box-shadow: 0 12px 24px -14px rgba(1, 56, 81, 0.3);
}

.labz-cb-card__img {
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	border-radius: 10px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.95);
	display: flex;
	align-items: center;
	justify-content: center;
}

.labz-cb-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
}

/* Topic cards — vertical, centered, light card with theme-color icon */
.labz-cb-card--topic {
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
	padding: 26px 18px 22px;
	cursor: default;
}

.labz-cb-card--topic:hover {
	transform: translateY(-3px);
	background: #ffffff;
	border-color: #013851;
	box-shadow: 0 12px 24px -14px rgba(1, 56, 81, 0.3);
}

.labz-cb-card__icon {
	flex: 0 0 auto;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background: linear-gradient(135deg, #013851 0%, #025074 100%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
	box-shadow: 0 8px 18px -8px rgba(1, 56, 81, 0.5);
}

.labz-cb-card--topic:hover .labz-cb-card__icon {
	transform: scale(1.08);
	box-shadow: 0 12px 24px -8px rgba(1, 56, 81, 0.55);
}

.labz-cb-card__icon svg {
	width: 26px;
	height: 26px;
	display: block;
	stroke: #ffffff;
}

.labz-cb-card--topic .labz-cb-card__name {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #0f334f;
}

.labz-cb-card__desc {
	font-size: 12.5px;
	color: #6b7785;
	line-height: 1.45;
	letter-spacing: 0;
	text-transform: none;
}

.labz-cb-card__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.labz-cb-card__name {
	font-size: 14px;
	font-weight: 700;
	color: #0f334f;
	line-height: 1.2;
	letter-spacing: 0.01em;
}

.labz-cb-card__count {
	font-size: 11px;
	color: #6b7785;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.labz-cb-card__arrow {
	font-size: 16px;
	color: #98a2b1;
	transition: transform 0.22s ease, color 0.22s ease;
}

.labz-cb-card:hover .labz-cb-card__arrow {
	transform: translateX(4px);
	color: #013851;
}

.labz-cb-trust {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.labz-cb-trust li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.85);
	letter-spacing: 0.01em;
	margin: 0;
}

.labz-cb-dot {
	width: 6px;
	height: 6px;
	background: #6ee7c3;
	border-radius: 999px;
	box-shadow: 0 0 0 3px rgba(110, 231, 195, 0.18);
	flex: 0 0 6px;
}

.labz-cb-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #ffffff;
	color: #013851 !important;
	text-decoration: none !important;
	border-radius: 999px;
	padding: 13px 26px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
	box-shadow: 0 6px 18px -6px rgba(0, 0, 0, 0.35);
}

.labz-cb-cta:hover {
	background: #f0f5fa;
	transform: translateY(-2px);
	color: #013851 !important;
	box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.45);
}

.labz-cb-actions {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

.labz-cb-cta--ghost {
	background: transparent;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.40);
	box-shadow: none;
}

.labz-cb-cta--ghost:hover {
	background: rgba(255, 255, 255, 0.10);
	color: #ffffff !important;
	box-shadow: none;
	transform: translateY(-2px);
}

/* Mobile — stack panel above content */
@media (max-width: 921px) {
	.labz-catalog-banner {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.labz-cb-formwrap {
		padding: 26px 22px 8px;
	}
	.labz-cb-formcard {
		padding: 22px 20px 18px;
	}
	.labz-cb-content {
		padding: 24px 26px 30px;
	}
	.labz-cb-title { font-size: 24px; }
	.labz-cb-subtitle { font-size: 13px; margin-bottom: 18px; }
	.labz-cb-trust li { font-size: 12px; }

	/* Stack the two pill buttons vertically so they don't wrap awkwardly */
	.labz-cb-actions {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 8px;
	}
	.labz-cb-cta {
		flex: 0 0 auto;
		justify-content: center;
		white-space: nowrap;
		padding: 12px 20px;
		font-size: 12px;
		letter-spacing: 0.04em;
	}
}

@media (max-width: 480px) {
	.labz-cb-panel-grid { gap: 10px; }
	.labz-cb-stat { padding: 14px 10px; }
	.labz-cb-stat-num { font-size: 22px; }
	.labz-cb-content { padding: 20px 20px 26px; }
	.labz-cb-title { font-size: 22px; }
}