/**
 * Theme Name:     Hello Biz Child
 * Author:         Elementor Team
 * Template:       hello-biz
 * Text Domain:	   hello-biz-child
 * Description:    Hello Biz is a free, user-friendly Hybrid WordPress Theme that was crafted for seamless integration with the Elementor site builder and tailored specifically for business websites. Perfect for beginners, but far from limited to just them, it features a dedicated beginner-oriented “Home” screen to simplify and streamline the web-building process. Hello Biz also integrates with Elementor’s premium features, giving you access to tools like AI, and accessibility enhancements in one place. Whether launching a startup site or refining a company portfolio, Hello Biz offers a solid, responsive foundation for all web creators. Report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team validates, triages, and handles vulnerabilities. Report here: https://patchstack.com/database/wordpress/theme/hello-biz/vdp.
 */

/* WooCommerce product archives
   Scope every rule to shop, product-category and product-tag archives so that
   product pages, cart and checkout retain their native styling. */
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) {
	--alpha-blue: #0e78bb;
	--alpha-blue-dark: #0a2a47;
	--alpha-text: #1f2937;
	--alpha-muted: #64748b;
	--alpha-surface: #fff;
	--alpha-background: #f3f4f6;
	--alpha-border: #dbe3ea;
	--alpha-radius: 5px;
	--alpha-shadow: 0 8px 24px rgb(10 42 71 / 10%);
	color: var(--alpha-text);
	font-family: Inter, Arial, sans-serif;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) :where(h1, h2, h3, .woocommerce-loop-product__title) {
	font-family: Poppins, Arial, sans-serif;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .site-main {
	width: min(100% - 40px, 1200px);
	margin-inline: auto;
	padding-block: clamp(40px, 6vw, 80px);
}

/* Archive heading and breadcrumb */
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-breadcrumb {
	margin: 0 0 22px;
	color: var(--alpha-muted);
	font-size: 0.875rem;
	line-height: 1.6;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-breadcrumb a {
	color: var(--alpha-blue-dark);
	text-decoration: none;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-breadcrumb a:hover {
	color: var(--alpha-blue);
	text-decoration: underline;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-products-header {
	position: relative;
	margin-bottom: clamp(30px, 5vw, 52px);
	padding-bottom: 22px;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-products-header::before {
	display: block;
	margin-bottom: 10px;
	color: var(--alpha-blue);
	content: "SHOP";
	font-family: Poppins, Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-products-header::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 64px;
	height: 4px;
	border-radius: 999px;
	background: var(--alpha-blue);
	content: "";
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-products-header__title.page-title {
	margin: 0;
	color: var(--alpha-blue-dark);
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 700;
	line-height: 1.12;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .term-description {
	max-width: 760px;
	margin-top: 16px;
	color: var(--alpha-muted);
	line-height: 1.7;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .term-description > :last-child {
	margin-bottom: 0;
}

/* Result count and sorting */
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-result-count,
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering {
	float: none;
	margin: 0;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-result-count {
	color: var(--alpha-muted);
	font-size: 0.925rem;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering {
	margin-left: auto;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering select {
	min-height: 44px;
	max-width: 100%;
	padding: 8px 38px 8px 14px;
	border: 1px solid var(--alpha-border);
	border-radius: var(--alpha-radius);
	background-color: var(--alpha-surface);
	color: var(--alpha-text);
	font: inherit;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-result-count + .woocommerce-ordering {
	display: block;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-result-count,
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering {
	margin-bottom: 28px;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-result-count {
	display: flex;
	align-items: center;
	min-height: 44px;
}

/* Product grid and cards */
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products {
	display: grid;
	clear: both;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 44px;
	padding: 0;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products::before,
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products::after {
	display: none;
}

body.post-type-archive-product.woocommerce ul.products li.product,
body.tax-product_cat.woocommerce ul.products li.product,
body.tax-product_tag.woocommerce ul.products li.product {
	display: flex;
	position: relative;
	float: none;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: var(--alpha-radius);
	background: var(--alpha-surface);
	box-shadow: var(--alpha-shadow);
	transition: box-shadow 180ms ease, transform 180ms ease;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product:hover {
	box-shadow: 0 14px 34px rgb(10 42 71 / 16%);
	transform: translateY(-3px);
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product a img {
	width: 100%;
	margin: 0;
	aspect-ratio: 1;
	background: var(--alpha-background);
	object-fit: contain;
	transition: transform 220ms ease;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product:hover a img {
	transform: scale(1.025);
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 20px 20px 8px;
	color: var(--alpha-blue-dark);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.4;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .star-rating {
	margin: 2px 20px 10px;
	color: var(--alpha-blue);
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .price {
	margin: auto 20px 6px;
	padding-top: 8px;
	color: var(--alpha-blue);
	font-size: 1.08rem;
	font-weight: 700;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .price del {
	margin-right: 5px;
	color: var(--alpha-muted);
	font-size: 0.85em;
	font-weight: 500;
	opacity: 0.85;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .price ins {
	text-decoration: none;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product :where(.wc-gzd-additional-info, .tax-info, .shipping-costs-info, .delivery-time-info) {
	margin: 2px 20px;
	color: var(--alpha-muted);
	font-size: 0.75rem;
	line-height: 1.45;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product :where(.wc-gzd-additional-info, .tax-info, .shipping-costs-info, .delivery-time-info) a {
	color: var(--alpha-blue-dark);
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 18px 20px 20px;
	padding: 11px 16px;
	border: 2px solid var(--alpha-blue);
	border-radius: var(--alpha-radius);
	background: var(--alpha-blue);
	color: #fff;
	font-family: Poppins, Arial, sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .button:hover {
	border-color: var(--alpha-blue-dark);
	background: var(--alpha-blue-dark);
	color: #fff;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .added_to_cart {
	margin: -12px 20px 18px;
	color: var(--alpha-blue-dark);
	font-size: 0.84rem;
	font-weight: 600;
	text-align: center;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .onsale {
	top: 14px;
	right: 14px;
	left: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--alpha-blue);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

/* Pagination, notices and empty archives */
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: 8px;
	border: 0;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) nav.woocommerce-pagination ul li {
	border: 0;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) nav.woocommerce-pagination ul li :where(a, span) {
	display: grid;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid var(--alpha-border);
	border-radius: var(--alpha-radius);
	background: var(--alpha-surface);
	color: var(--alpha-blue-dark);
	place-items: center;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) nav.woocommerce-pagination ul li :where(a:hover, span.current) {
	border-color: var(--alpha-blue);
	background: var(--alpha-blue);
	color: #fff;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) :where(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	margin-bottom: 28px;
	padding: 18px 20px 18px 52px;
	border: 0;
	border-left: 4px solid var(--alpha-blue);
	border-radius: var(--alpha-radius);
	background: var(--alpha-surface);
	box-shadow: 0 4px 18px rgb(10 42 71 / 8%);
	color: var(--alpha-text);
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-error {
	border-left-color: #b42318;
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-info {
	border-left-color: var(--alpha-blue);
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-no-products-found {
	clear: both;
	margin-top: 20px;
}

/* Keyboard navigation */
:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) :where(a, button, select):focus-visible {
	outline: 3px solid rgb(14 120 187 / 38%);
	outline-offset: 3px;
}

@media (min-width: 640px) {
	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-result-count {
		float: left;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering {
		float: right;
	}
}

@media (max-width: 1024px) {
	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 639px) {
	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .site-main {
		width: min(100% - 28px, 1200px);
		padding-block: 32px 52px;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering,
	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering select {
		width: 100%;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-result-count {
		margin-bottom: 10px;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .woocommerce-loop-product__title {
		padding: 14px 12px 6px;
		font-size: 0.9rem;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .price {
		margin-inline: 12px;
		font-size: 0.95rem;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product :where(.wc-gzd-additional-info, .tax-info, .shipping-costs-info, .delivery-time-info) {
		margin-inline: 12px;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .button {
		margin: 14px 12px 12px;
		padding-inline: 8px;
		font-size: 0.76rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product,
	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product a img,
	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product .button {
		transition: none;
	}

	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product:hover,
	:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products li.product:hover a img {
		transform: none;
	}
}

/* WooCommerce single product pages */
.single-product {
	--alpha-blue: #0e78bb;
	--alpha-blue-dark: #0a2a47;
	--alpha-text: #1f2937;
	--alpha-muted: #64748b;
	--alpha-surface: #fff;
	--alpha-background: #f3f4f6;
	--alpha-border: #dbe3ea;
	--alpha-radius: 5px;
	--alpha-shadow: 0 8px 24px rgb(10 42 71 / 10%);
	color: var(--alpha-text);
	font-family: Inter, Arial, sans-serif;
}

.single-product :where(h1, h2, h3, .woocommerce-loop-product__title) {
	font-family: Poppins, Arial, sans-serif;
}

.single-product .site-main {
	width: min(100% - 40px, 1200px);
	max-width: 1200px;
	margin-inline: auto;
	padding-block: clamp(40px, 6vw, 80px);
}

.single-product .woocommerce-breadcrumb {
	margin: 0 0 28px;
	color: var(--alpha-muted);
	font-size: 0.875rem;
	line-height: 1.6;
}

.single-product .woocommerce-breadcrumb a {
	color: var(--alpha-blue-dark);
	text-decoration: none;
}

.single-product .woocommerce-breadcrumb a:hover {
	color: var(--alpha-blue);
	text-decoration: underline;
}

.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
	gap: clamp(32px, 5vw, 64px);
}

.single-product div.product::before,
.single-product div.product::after {
	display: none;
}

.single-product div.product div.images.woocommerce-product-gallery,
.single-product div.product div.summary.entry-summary {
	float: none;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
}

.single-product div.product div.images .flex-viewport,
.single-product div.product div.images .woocommerce-product-gallery__image {
	border-radius: var(--alpha-radius);
	background: var(--alpha-background);
}

.single-product div.product div.images .flex-viewport {
	box-shadow: var(--alpha-shadow);
}

.single-product div.product div.images .woocommerce-product-gallery__image a {
	display: block;
}

.single-product div.product div.images .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	margin: 0;
	aspect-ratio: 1;
	object-fit: contain;
}

.single-product div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.single-product div.product div.images .flex-control-thumbs li {
	float: none;
	width: 100%;
	margin: 0;
	overflow: hidden;
	border: 2px solid transparent;
	border-radius: var(--alpha-radius);
	background: var(--alpha-background);
}

.single-product div.product div.images .flex-control-thumbs li:has(img.flex-active) {
	border-color: var(--alpha-blue);
}

.single-product div.product div.images .flex-control-thumbs img {
	width: 100%;
	margin: 0;
	aspect-ratio: 1;
	object-fit: cover;
}

.single-product div.product div.summary.entry-summary {
	align-self: start;
	padding: clamp(24px, 3vw, 38px);
	border-radius: var(--alpha-radius);
	background: var(--alpha-surface);
	box-shadow: var(--alpha-shadow);
}

.single-product div.product .summary .product_title {
	position: relative;
	margin: 0 0 22px;
	padding-bottom: 18px;
	color: var(--alpha-blue-dark);
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 700;
	line-height: 1.12;
}

.single-product div.product .summary .product_title::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 64px;
	height: 4px;
	border-radius: 999px;
	background: var(--alpha-blue);
	content: "";
}

.single-product div.product .summary .price {
	margin: 0 0 12px;
	color: var(--alpha-blue);
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	font-weight: 700;
}

.single-product div.product .summary .price del {
	margin-right: 6px;
	color: var(--alpha-muted);
	font-size: 0.8em;
	font-weight: 500;
	opacity: 0.85;
}

.single-product div.product .summary .price ins {
	text-decoration: none;
}

.single-product div.product .summary :where(.woocommerce-product-details__short-description, .stock, .wc-gzd-additional-info, .product_meta) {
	color: var(--alpha-muted);
	line-height: 1.65;
}

.single-product div.product .summary :where(.wc-gzd-additional-info, .tax-info, .shipping-costs-info, .delivery-time-info) {
	margin-block: 5px;
	font-size: 0.82rem;
}

.single-product div.product .summary :where(a, .stock.in-stock) {
	color: var(--alpha-blue);
}

.single-product div.product .summary .stock.out-of-stock {
	color: #b42318;
	font-weight: 600;
}

.single-product div.product .summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 24px 0;
}

.single-product div.product .summary form.cart .quantity {
	float: none;
	margin: 0;
}

.single-product div.product .summary form.cart .qty {
	width: 76px;
	min-height: 48px;
	border: 1px solid var(--alpha-border);
	border-radius: var(--alpha-radius);
}

.single-product div.product .summary form.cart .single_add_to_cart_button,
.single-product div.product .summary .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0;
	padding: 12px 20px;
	border: 2px solid var(--alpha-blue);
	border-radius: var(--alpha-radius);
	background: var(--alpha-blue);
	color: #fff;
	font-family: Poppins, Arial, sans-serif;
	font-weight: 600;
	line-height: 1.2;
}

.single-product div.product .summary form.cart .single_add_to_cart_button:hover,
.single-product div.product .summary .button:hover {
	border-color: var(--alpha-blue-dark);
	background: var(--alpha-blue-dark);
	color: #fff;
}

.single-product div.product .summary form.variations_form,
.single-product div.product .summary form.grouped_form,
.single-product div.product .summary form.cart .variations,
.single-product div.product .summary form.cart .group_table {
	width: 100%;
}

.single-product div.product .summary form.cart :where(select, input:not([type="hidden"])) {
	border-color: var(--alpha-border);
	border-radius: var(--alpha-radius);
}

.single-product div.product .summary .product_meta {
	padding-top: 20px;
	border-top: 1px solid var(--alpha-border);
	font-size: 0.88rem;
}

.single-product div.product > :where(.woocommerce-tabs, .related, .upsells) {
	grid-column: 1 / -1;
	width: 100%;
	margin: 0;
}

.single-product div.product .woocommerce-tabs {
	margin-top: clamp(16px, 3vw, 34px);
}

.single-product div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--alpha-border);
}

.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.single-product div.product .woocommerce-tabs ul.tabs li {
	margin: 0 0 -1px;
	padding: 0;
	border: 1px solid var(--alpha-border);
	border-radius: var(--alpha-radius) var(--alpha-radius) 0 0;
	background: var(--alpha-background);
}

.single-product div.product .woocommerce-tabs ul.tabs li.active {
	border-color: var(--alpha-blue);
	background: var(--alpha-blue);
}

.single-product div.product .woocommerce-tabs ul.tabs li a {
	padding: 12px 18px;
	color: var(--alpha-blue-dark);
	font-family: Poppins, Arial, sans-serif;
	font-weight: 600;
}

.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
}

.single-product div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: clamp(24px, 4vw, 40px);
	min-width: 0;
	overflow-wrap: anywhere;
	border-radius: 0 0 var(--alpha-radius) var(--alpha-radius);
	background: var(--alpha-surface);
	box-shadow: var(--alpha-shadow);
	color: var(--alpha-text);
	line-height: 1.7;
}

.single-product div.product .woocommerce-tabs .panel :where(img, iframe, video) {
	max-width: 100%;
}

.single-product div.product .woocommerce-tabs .panel table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.single-product div.product .woocommerce-tabs .panel > :first-child {
	margin-top: 0;
	color: var(--alpha-blue-dark);
}

.single-product div.product :where(.related, .upsells) {
	margin-top: clamp(30px, 5vw, 56px);
}

.single-product div.product :where(.related, .upsells) > h2 {
	margin: 0 0 24px;
	color: var(--alpha-blue-dark);
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	font-weight: 700;
}

.single-product div.product :where(.related, .upsells) ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
}

.single-product div.product :where(.related, .upsells) ul.products::before,
.single-product div.product :where(.related, .upsells) ul.products::after {
	display: none;
}

body.single-product.woocommerce div.product :where(.related, .upsells) ul.products li.product {
	display: flex;
	float: none;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: var(--alpha-radius);
	background: var(--alpha-surface);
	box-shadow: var(--alpha-shadow);
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.single-product div.product :where(.related, .upsells) ul.products li.product:hover {
	box-shadow: 0 14px 34px rgb(10 42 71 / 16%);
	transform: translateY(-3px);
}

.single-product div.product :where(.related, .upsells) ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.single-product div.product :where(.related, .upsells) ul.products li.product a img {
	width: 100%;
	margin: 0;
	aspect-ratio: 1;
	background: var(--alpha-background);
	object-fit: contain;
}

.single-product div.product :where(.related, .upsells) ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 20px 20px 8px;
	color: var(--alpha-blue-dark);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.4;
}

.single-product div.product :where(.related, .upsells) ul.products li.product .price {
	margin: auto 20px 6px;
	padding-top: 8px;
	color: var(--alpha-blue);
	font-size: 1.08rem;
	font-weight: 700;
}

.single-product div.product :where(.related, .upsells) ul.products li.product .price del {
	margin-right: 5px;
	color: var(--alpha-muted);
	font-size: 0.85em;
	font-weight: 500;
	opacity: 0.85;
}

.single-product div.product :where(.related, .upsells) ul.products li.product .price ins {
	text-decoration: none;
}

.single-product div.product :where(.related, .upsells) ul.products li.product :where(.wc-gzd-additional-info, .tax-info, .shipping-costs-info, .delivery-time-info) {
	margin: 2px 20px;
	color: var(--alpha-muted);
	font-size: 0.75rem;
	line-height: 1.45;
}

.single-product div.product :where(.related, .upsells) ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 18px 20px 20px;
	padding: 11px 16px;
	border: 2px solid var(--alpha-blue);
	border-radius: var(--alpha-radius);
	background: var(--alpha-blue);
	color: #fff;
	font-family: Poppins, Arial, sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

.single-product div.product :where(.related, .upsells) ul.products li.product .button:hover {
	border-color: var(--alpha-blue-dark);
	background: var(--alpha-blue-dark);
	color: #fff;
}

.single-product div.product .onsale {
	top: 14px;
	right: 14px;
	left: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--alpha-blue);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.single-product :where(a, button, select, input):focus-visible {
	outline: 3px solid rgb(14 120 187 / 38%);
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.single-product div.product {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 0.85fr);
		gap: 30px;
	}

	.single-product div.product :where(.related, .upsells) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.single-product .site-main {
		width: min(100% - 28px, 1200px);
		padding-block: 32px 52px;
	}

	.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.single-product div.product > :where(.woocommerce-tabs, .related, .upsells) {
		grid-column: 1;
	}

	.single-product div.product div.images .woocommerce-product-gallery__image img {
		max-height: calc(100vw - 28px);
	}

	.single-product div.product .summary .product_title {
		font-size: clamp(1.8rem, 9vw, 2.35rem);
	}
}

@media (max-width: 639px) {
	.single-product div.product :where(.related, .upsells) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.single-product div.product :where(.related, .upsells) ul.products li.product .woocommerce-loop-product__title {
		padding: 14px 12px 6px;
		font-size: 0.9rem;
	}

	.single-product div.product :where(.related, .upsells) ul.products li.product :where(.price, .wc-gzd-additional-info, .tax-info, .shipping-costs-info, .delivery-time-info) {
		margin-inline: 12px;
	}

	.single-product div.product :where(.related, .upsells) ul.products li.product .button {
		margin: 14px 12px 12px;
		padding-inline: 8px;
		font-size: 0.76rem;
	}

	.single-product div.product .summary form.cart .single_add_to_cart_button {
		flex: 1 1 180px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product div.product :where(.related, .upsells) ul.products li.product {
		transition: none;
	}

	.single-product div.product :where(.related, .upsells) ul.products li.product:hover {
		transform: none;
	}
}
.wp-block-woocommerce-cart {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.wp-block-woocommerce-checkout{
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

.woocommerce .products ul::after, .woocommerce .products ul::before, .woocommerce ul.products::after, .woocommerce ul.products::before {
    content: none;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
    padding: 20px 20px 8px;
}

.single-product  ul.flex-direction-nav {
    display: none;
}
.background-progress-green {
    position: relative;
    overflow: hidden;
}

.background-progress-green::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
            90deg,
            #0e78bb 0%,
            #0e78bb 65%,
            rgba(136, 189, 43, 0) 85%,
            rgba(136, 189, 43, 0) 100%
    );
}