/* FGE Product Template Helpers */

.fge-product-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 14px 0 26px;
}

.fge-product-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 20px;
	border: 1px solid #f4f1ec;
	border-radius: 999px;
	background: #fdfbf4;
	color: #252220;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	box-shadow: none;
}


/* Product lab report action */
.fge-lab-report-wrap {
	display: flex;
	align-items: center;
	margin: -10px 0 24px;
}

.fge-lab-report-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	padding: 9px 19px;
	border: 1px solid #b9dcec;
	border-radius: 999px;
	background: #eaf4f7;
	color: #10213e !important;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: none;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.fge-lab-report-link:hover,
.fge-lab-report-link:focus-visible {
	border-color: #10213e;
	background: #10213e;
	color: #fff !important;
	transform: translateY(-1px);
}

.fge-lab-report-link:focus-visible {
	outline: 3px solid rgba(49,150,209,.24);
	outline-offset: 3px;
}

.fge-lab-report-link__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.fge-lab-report-link__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (max-width: 767px) {
	.fge-lab-report-wrap {
		margin: -6px 0 20px;
	}
	.fge-lab-report-link {
		width: 100%;
		padding-inline: 16px;
		text-align: center;
	}
}

.fge-trust-badges {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	width: 100%;
	margin: 8px 0 0;
}

.fge-trust-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 104px;
	padding: 18px 16px;
	border: none;
	border-radius: 12px;
	background: #f4f1ec;
	text-align: center;
	box-shadow: none;
}

.fge-trust-badge__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #10213e;
}

.fge-trust-badge__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.fge-trust-badge__label {
	color: #171717;
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.fge-product-pills {
		gap: 8px;
		margin-bottom: 20px;
	}

	.fge-product-pill {
		min-height: 36px;
		padding: 7px 14px;
		font-size: 14px;
	}

	.fge-trust-badges {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.fge-trust-badge {
		min-height: 96px;
	}
}


/* Custom product gallery */
.fge-product-gallery {
	width: 100%;
}

.fge-product-gallery__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 960px;
	padding: 58px;
	border: 1px solid #f4f1ec;
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}

.fge-product-gallery__main-image {
	display: block;
	width: auto;
	height: auto;
	max-width: 72%;
	max-height: 600px;
	object-fit: contain;
	margin: 0 auto;
	transform: none !important;
	transition: opacity 0.15s ease;
}

.fge-product-gallery__main-image.is-changing {
	opacity: 0.25;
}

.fge-product-gallery__badge {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 14px;
	border-radius: 5px;
	background: #10213e;
	color: #fff;
	font-family: "Nunito Sans", sans-serif;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.fge-product-gallery__thumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	margin-top: 16px;
}

.fge-product-gallery__thumb {
	position: relative;
	display: flex !important;
	flex: 0 0 110px !important;
	align-items: center;
	justify-content: center;
	width: 110px !important;
	min-width: 110px !important;
	max-width: 110px !important;
	height: 110px !important;
	min-height: 110px !important;
	max-height: 110px !important;
	padding: 0 !important;
	border: 1px solid #f4f1ec;
	border-radius: 20px;
	background: #fff !important;
	cursor: pointer;
	appearance: none;
	box-shadow: none !important;
	overflow: hidden;
	box-sizing: border-box;
	line-height: 0;
}

.fge-product-gallery__thumb:not(.is-active),
.fge-product-gallery__thumb:not(.is-active):hover,
.fge-product-gallery__thumb:not(.is-active):focus {
	border: 1px solid #f4f1ec !important;
	border-color: #f4f1ec !important;
	outline: none !important;
	box-shadow: none !important;
	background: #fff !important;
}

.fge-product-gallery__thumb.is-active,
.fge-product-gallery__thumb.is-active:hover,
.fge-product-gallery__thumb.is-active:focus {
	border: 2px solid #10213e !important;
	border-color: #10213e !important;
	outline: none !important;
	box-shadow: none !important;
}

.fge-product-gallery__thumb img {
	position: static !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	border-radius: inherit;
	transform: none !important;
}

/* One-time product price */
.fge-product-price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin: 12px 0 20px;
	font-family: "Nunito Sans", sans-serif;
}

.fge-product-price__current {
	color: #10213e;
	font-size: 38px;
	font-weight: 800;
	line-height: 1;
}

.fge-product-price__regular {
	color: #6f6a64;
	font-size: 20px;
	font-weight: 500;
}

.fge-product-price__save {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 13px;
	border-radius: 999px;
	background: #eaf4f7;
	color: #10213e;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

@media (max-width: 1024px) {
	.fge-product-gallery__stage {
		min-height: 720px;
		padding: 42px;
	}

	.fge-product-gallery__main-image {
		max-width: 78%;
		max-height: 480px;
	}
}

@media (max-width: 767px) {
	.fge-product-gallery__stage {
		min-height: 540px;
		padding: 34px 24px;
	}

	.fge-product-gallery__main-image {
		max-width: 84%;
		max-height: 372px;
	}

	.fge-product-gallery__thumb {
		flex-basis: 88px !important;
		width: 88px !important;
		min-width: 88px !important;
		max-width: 88px !important;
		height: 88px !important;
		min-height: 88px !important;
		max-height: 88px !important;
		border-radius: 16px;
	}

	.fge-product-price__current {
		font-size: 32px;
	}
}


/* Prevent shortcode/gallery elements from creating horizontal page overflow. */
.fge-product-gallery,
.fge-product-gallery *,
.fge-product-pills,
.fge-product-pills *,
.fge-trust-badges,
.fge-trust-badges *,
.fge-product-price,
.fge-product-price * {
	box-sizing: border-box;
}

.fge-product-gallery,
.fge-product-gallery__stage,
.fge-product-gallery__thumbs,
.fge-product-pills,
.fge-trust-badges,
.fge-product-price {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

/* Keep WooCommerce's native add-to-cart/subscription layout contained
   until its dedicated redesign is added. */
.single-product .elementor-widget-woocommerce-product-add-to-cart,
.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-widget-container,
.single-product form.cart,
.single-product form.cart > *,
.single-product .wcsatt-options-wrapper,
.single-product .wcsatt-options-product,
.single-product .wcsatt-options-prompt {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}


/* =========================================================
   FGE purchase box: WooCommerce + All Products for
   WooCommerce Subscriptions presentation layer
   ========================================================= */

.single-product form.cart.fge-purchase-form {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	gap: 16px;
	width: 100%;
	max-width: 100%;
	align-items: stretch;
	margin-top: 22px;
}

.single-product form.cart.fge-purchase-form .quantity {
	position: relative;
	display: grid;
	grid-template-columns: 44px minmax(42px, 1fr) 44px;
	align-items: center;
	width: 145px;
	min-width: 0;
	height: 58px;
	margin: 0 !important;
	border: 1px solid #f4f1ec;
	border-radius: 12px;
	background: #fdfbf4;
	overflow: hidden;
}

.single-product form.cart.fge-purchase-form .quantity input.qty {
	grid-column: 2;
	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #10213e !important;
	font-family: "Nunito Sans", sans-serif;
	font-size: 17px !important;
	font-weight: 700 !important;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
	box-shadow: none !important;
}

.single-product form.cart.fge-purchase-form .quantity input.qty::-webkit-inner-spin-button,
.single-product form.cart.fge-purchase-form .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
}

.fge-qty-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: #171717;
	font-family: Arial, sans-serif;
	font-size: 28px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
}

.fge-qty-button:hover,
.fge-qty-button:focus {
	border: 0;
	background: transparent;
	color: #10213e;
	outline: none;
	box-shadow: none;
}

.fge-qty-button--minus {
	grid-column: 1;
	grid-row: 1;
}

.fge-qty-button--plus {
	grid-column: 3;
	grid-row: 1;
}

.single-product form.cart.fge-purchase-form .single_add_to_cart_button {
	grid-column: 2;
	width: 100% !important;
	min-width: 0;
	min-height: 58px;
	margin: 0 !important;
	padding: 14px 24px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: #10213e !important;
	color: #fff !important;
	font-family: "Nunito Sans", sans-serif;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.2;
	text-align: center;
	box-shadow: none !important;
}

.single-product form.cart.fge-purchase-form .single_add_to_cart_button:hover,
.single-product form.cart.fge-purchase-form .single_add_to_cart_button:focus {
	background: #18345f !important;
	color: #fff !important;
}

/* Subscription choices span the full purchase-box width. */
.single-product form.cart.fge-purchase-form .wcsatt-options-wrapper,
.single-product form.cart.fge-purchase-form .wcsatt-options-product,
.single-product form.cart.fge-purchase-form .wcsatt-options-prompt,
.single-product form.cart.fge-purchase-form .fge-subscription-plans {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.single-product form.cart.fge-purchase-form .wcsatt-options-wrapper {
	order: 3;
	margin-top: 4px;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product,
.single-product form.cart.fge-purchase-form ul.wcsatt-options-prompt {
	display: grid;
	gap: 12px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.single-product form.cart.fge-purchase-form .wcsatt-options-product > li,
.single-product form.cart.fge-purchase-form .wcsatt-options-prompt > li,
.single-product form.cart.fge-purchase-form li.subscription-option,
.single-product form.cart.fge-purchase-form li.one-time-option {
	position: relative;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.single-product form.cart.fge-purchase-form .wcsatt-options-product label,
.single-product form.cart.fge-purchase-form .wcsatt-options-prompt label,
.single-product form.cart.fge-purchase-form li.subscription-option label,
.single-product form.cart.fge-purchase-form li.one-time-option label {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 78px;
	margin: 0;
	padding: 16px 20px;
	border: 1px solid #f4f1ec;
	border-radius: 12px;
	background: #fdfbf4;
	color: #171717;
	cursor: pointer;
	box-sizing: border-box;
}

.single-product form.cart.fge-purchase-form .wcsatt-options-product li.fge-plan-selected label,
.single-product form.cart.fge-purchase-form .wcsatt-options-prompt li.fge-plan-selected label,
.single-product form.cart.fge-purchase-form li.fge-plan-selected label {
	border-color: #10213e;
	box-shadow: inset 0 0 0 1px #10213e;
}

.single-product form.cart.fge-purchase-form .wcsatt-options-product input[type="radio"],
.single-product form.cart.fge-purchase-form .wcsatt-options-prompt input[type="radio"],
.single-product form.cart.fge-purchase-form li.subscription-option input[type="radio"],
.single-product form.cart.fge-purchase-form li.one-time-option input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0 !important;
	accent-color: #10213e;
}

.single-product form.cart.fge-purchase-form .subscription-option-details,
.single-product form.cart.fge-purchase-form .wcsatt-options-prompt-label,
.single-product form.cart.fge-purchase-form .wcsatt-options-product-label {
	display: block;
	min-width: 0;
	color: #171717;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.single-product form.cart.fge-purchase-form .subscription-details,
.single-product form.cart.fge-purchase-form .price {
	color: #10213e;
	font-family: "Nunito Sans", sans-serif;
	font-weight: 800;
}

/* Hide obsolete table-like spacing inherited from subscription defaults. */
.single-product form.cart.fge-purchase-form .wcsatt-options-product .price del,
.single-product form.cart.fge-purchase-form .wcsatt-options-prompt .price del {
	color: #77716a;
	font-weight: 500;
	opacity: .75;
}

/* A title is injected only when the subscriptions UI itself does not provide one. */
.fge-subscription-heading {
	grid-column: 1 / -1;
	margin: 8px 0 2px;
	color: #2d2926;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: clamp(31px, 2.2vw, 42px);
	font-weight: 400;
	line-height: 1.1;
}

/* Prevent old subscription pricing fragments above the custom price shortcode
   from creating a duplicate visual price row. This only applies inside the
   enhanced add-to-cart form. */
.single-product form.cart.fge-purchase-form > .price,
.single-product form.cart.fge-purchase-form > p.price {
	display: none !important;
}

@media (max-width: 767px) {
	.single-product form.cart.fge-purchase-form {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 10px;
	}

	.single-product form.cart.fge-purchase-form .quantity {
		grid-template-columns: 36px minmax(36px, 1fr) 36px;
		width: 120px;
		height: 54px;
	}

	.fge-qty-button {
		width: 36px;
	}

	.single-product form.cart.fge-purchase-form .single_add_to_cart_button {
		min-height: 54px;
		padding-inline: 12px !important;
		font-size: 15px !important;
	}

	.single-product form.cart.fge-purchase-form .wcsatt-options-product label,
	.single-product form.cart.fge-purchase-form .wcsatt-options-prompt label,
	.single-product form.cart.fge-purchase-form li.subscription-option label,
	.single-product form.cart.fge-purchase-form li.one-time-option label {
		grid-template-columns: 22px minmax(0, 1fr);
		min-height: 68px;
		padding: 14px;
	}

	.fge-subscription-heading {
		font-size: 30px;
	}
}


/* =========================================================
   v1.2.1 purchase-box layout corrections
   ========================================================= */

.single-product form.cart.fge-purchase-form {
	display: grid !important;
	grid-template-columns: 145px minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	column-gap: 16px !important;
	row-gap: 16px !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

/* Quantity and button always occupy the first row. */
.single-product form.cart.fge-purchase-form .quantity {
	grid-column: 1 !important;
	grid-row: 1 !important;
	position: relative !important;
	display: block !important;
	width: 145px !important;
	min-width: 145px !important;
	max-width: 145px !important;
	height: 58px !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #f4f1ec !important;
	border-radius: 12px !important;
	background: #fdfbf4 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.single-product form.cart.fge-purchase-form .quantity input.qty {
	position: absolute !important;
	inset: 0 44px !important;
	display: block !important;
	width: calc(100% - 88px) !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #10213e !important;
	text-align: center !important;
	opacity: 1 !important;
	visibility: visible !important;
	z-index: 1 !important;
}

.single-product form.cart.fge-purchase-form .fge-qty-button {
	position: absolute !important;
	top: 0 !important;
	z-index: 2 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #171717 !important;
}

.single-product form.cart.fge-purchase-form .fge-qty-button--minus {
	left: 0 !important;
}

.single-product form.cart.fge-purchase-form .fge-qty-button--plus {
	right: 0 !important;
}

.single-product form.cart.fge-purchase-form .single_add_to_cart_button {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: 58px !important;
	min-height: 58px !important;
	margin: 0 !important;
}

/* The actual direct-child wrapper containing subscription radios is marked by JS. */
.single-product form.cart.fge-purchase-form > .fge-subscription-block {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove the automatically injected duplicate heading.
   The Elementor heading already on the template remains. */
.single-product form.cart.fge-purchase-form .fge-subscription-heading {
	display: none !important;
}

/* Keep each plan full width inside the subscription block. */
.single-product form.cart.fge-purchase-form > .fge-subscription-block ul,
.single-product form.cart.fge-purchase-form > .fge-subscription-block .wcsatt-options-product,
.single-product form.cart.fge-purchase-form > .fge-subscription-block .wcsatt-options-prompt {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product form.cart.fge-purchase-form > .fge-subscription-block li {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

@media (max-width: 767px) {
	.single-product form.cart.fge-purchase-form {
		grid-template-columns: 120px minmax(0, 1fr) !important;
		column-gap: 10px !important;
	}

	.single-product form.cart.fge-purchase-form .quantity {
		width: 120px !important;
		min-width: 120px !important;
		max-width: 120px !important;
		height: 54px !important;
		min-height: 54px !important;
	}

	.single-product form.cart.fge-purchase-form .quantity input.qty {
		inset: 0 36px !important;
		width: calc(100% - 72px) !important;
	}

	.single-product form.cart.fge-purchase-form .fge-qty-button {
		width: 36px !important;
	}
}


/* =========================================================
   v1.2.2 width and alignment corrections
   ========================================================= */

/* Elementor can place the add-to-cart form inside shrink-to-fit wrappers.
   Force every wrapper in this widget chain to use the full product column. */
.single-product .elementor-widget-woocommerce-product-add-to-cart,
.single-product .elementor-widget-woocommerce-product-add-to-cart > .elementor-widget-container,
.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart,
.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-product-simple,
.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-product-variable,
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart,
.single-product .elementor-add-to-cart,
.single-product .elementor-product-simple,
.single-product .elementor-product-variable {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.single-product form.cart.fge-purchase-form {
	display: grid !important;
	width: 100% !important;
	max-width: none !important;
}

/* Keep the cart row visually identical to the mockup. */
.single-product form.cart.fge-purchase-form .single_add_to_cart_button {
	text-transform: none !important;
	white-space: nowrap;
}

/* Hide any subscription title detected directly inside the Woo form.
   The mockup uses the card itself as the subscription prompt. */
.single-product form.cart.fge-purchase-form .fge-native-subscription-heading {
	display: none !important;
}

/* Full-width subscription cards. */
.single-product form.cart.fge-purchase-form > .fge-subscription-block,
.single-product form.cart.fge-purchase-form > .fge-subscription-block > *,
.single-product form.cart.fge-purchase-form > .fge-subscription-block ul,
.single-product form.cart.fge-purchase-form > .fge-subscription-block li,
.single-product form.cart.fge-purchase-form > .fge-subscription-block label {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

/* Slightly more compact cards, closer to the reference design. */
.single-product form.cart.fge-purchase-form .wcsatt-options-product label,
.single-product form.cart.fge-purchase-form .wcsatt-options-prompt label,
.single-product form.cart.fge-purchase-form li.subscription-option label,
.single-product form.cart.fge-purchase-form li.one-time-option label {
	min-height: 72px;
	padding: 14px 18px;
}


/* =========================================================
   v1.2.4 exact Woo Subscriptions markup styling
   Markup target:
   .wcsatt-options-wrapper > h3 + ul.wcsatt-options-product
   ========================================================= */

/* Elementor widget must be allowed to fill its parent column. */
.single-product .elementor-widget-eael-woo-add-to-cart,
.single-product .elementor-widget-woocommerce-product-add-to-cart,
.single-product .eael-single-product-add-to-cart,
.single-product .eael-add-to-cart-wrapper,
.single-product .eael-product-simple {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	align-self: stretch !important;
}

/* Quantity + add-to-cart row */
.single-product form.cart.fge-purchase-form {
	display: grid !important;
	grid-template-columns: 145px minmax(0, 1fr) !important;
	gap: 16px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.single-product form.cart.fge-purchase-form > .quantity {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

.single-product form.cart.fge-purchase-form > .single_add_to_cart_button {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Exact subscriptions wrapper from the copied markup */
.single-product form.cart.fge-purchase-form > .wcsatt-options-wrapper {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* The mockup does not show this heading inside the purchase form. */
.single-product form.cart.fge-purchase-form > .wcsatt-options-wrapper > h3 {
	display: none !important;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li > label {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 74px !important;
	margin: 0 !important;
	padding: 15px 18px !important;
	border: 1px solid #f4f1ec !important;
	border-radius: 12px !important;
	background: #fdfbf4 !important;
	box-sizing: border-box !important;
	cursor: pointer;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li.fge-plan-selected > label {
	border-color: #10213e !important;
	box-shadow: inset 0 0 0 1px #10213e !important;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product input[type="radio"] {
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	accent-color: #10213e;
}

.single-product form.cart.fge-purchase-form .one-time-option-details,
.single-product form.cart.fge-purchase-form .subscription-option-details {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	color: #171717 !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
}

.single-product form.cart.fge-purchase-form .one-time-option-details::first-letter {
	text-transform: uppercase;
}

.single-product form.cart.fge-purchase-form .subscription-price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 4px !important;
}

.single-product form.cart.fge-purchase-form .subscription-price del {
	color: #77716a !important;
	font-weight: 500 !important;
	opacity: .7;
}

.single-product form.cart.fge-purchase-form .subscription-price ins {
	color: #10213e !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

.single-product form.cart.fge-purchase-form .subscription-details {
	color: #10213e !important;
	font-weight: 800 !important;
}

@media (max-width: 767px) {
	.single-product form.cart.fge-purchase-form {
		grid-template-columns: 120px minmax(0, 1fr) !important;
		gap: 10px !important;
	}

	.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li > label {
		min-height: 68px !important;
		padding: 14px !important;
	}
}


/* =========================================================
   v1.2.5 final subscription-card treatment
   ========================================================= */

.single-product form.cart.fge-purchase-form .single_add_to_cart_button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	gap: 0 !important;
}

/* One-time purchase remains the default internally, but its "None" row is
   visually hidden to match the supplied mockup. */
.single-product form.cart.fge-purchase-form li.one-time-option.fge-one-time-hidden {
	display: none !important;
}

/* Subscription cards */
.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li.subscription-option > label {
	display: grid !important;
	grid-template-columns: 24px minmax(0, 1fr) auto !important;
	align-items: center !important;
	column-gap: 14px !important;
	min-height: 88px !important;
	padding: 16px 18px !important;
	border: 1px solid #f4f1ec !important;
	border-radius: 12px !important;
	background: #fbfaf8 !important;
	box-shadow: none !important;
}

/* Native radio becomes a square option checkmark. */
.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li.subscription-option input[type="radio"] {
	position: relative !important;
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	border: 1px solid #9a9690 !important;
	border-radius: 3px !important;
	background: #fff !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	box-shadow: none !important;
	cursor: pointer;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li.subscription-option input[type="radio"]:checked {
	border-color: #10213e !important;
	background: #10213e !important;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li.subscription-option input[type="radio"]:checked::after {
	content: "✓";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li.subscription-option.fge-plan-selected > label {
	border-color: #f4f1ec !important;
	box-shadow: none !important;
}

/* Hide the original plugin-generated discount display; custom clean text is
   added beside the checkbox and at the far right by JavaScript. */
.single-product form.cart.fge-purchase-form .subscription-option-details {
	display: none !important;
}

.fge-plan-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	font-family: "Nunito Sans", sans-serif;
}

.fge-plan-title {
	color: #171717;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
}

.fge-plan-subtitle {
	margin-top: 3px;
	color: #77716a;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}

.fge-plan-price {
	justify-self: end;
	color: #10213e;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li.subscription-option > label {
		grid-template-columns: 22px minmax(0, 1fr) !important;
		row-gap: 8px !important;
	}

	.fge-plan-price {
		grid-column: 2;
		justify-self: start;
	}
}


/* v1.3.0 Description and Ingredients */
.fge-product-description,
.fge-product-ingredients {
	width: 100%;
	max-width: 1180px;
	margin: 0;
	color: #393632;
	font-family: "Nunito Sans", sans-serif;
}

.fge-product-description__intro,
.fge-product-ingredients__content {
	max-width: 900px;
	font-size: 18px;
	line-height: 1.65;
}

.fge-product-description__intro p,
.fge-product-ingredients__content p,
.fge-product-description__callout p {
	margin: 0;
}

.fge-product-description__section {
	margin-top: 38px;
}

.fge-product-section-title {
	margin: 0 0 20px;
	color: #2d2926;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.2;
}

.fge-perfect-for-list {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fge-perfect-for-list li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	font-size: 16px;
	line-height: 1.45;
}

.fge-perfect-for-list__icon {
	display: inline-flex;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	color: #10213e;
}

.fge-perfect-for-list__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.fge-why-love-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	max-width: 900px;
}

.fge-why-love-card {
	min-height: 94px;
	padding: 20px 22px;
	border-radius: 12px;
	background: #f4f1ec;
	box-sizing: border-box;
}

.fge-why-love-card h3 {
	margin: 0 0 7px;
	color: #10213e;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
}

.fge-why-love-card p {
	margin: 0;
	color: #77716a;
	font-size: 15px;
	line-height: 1.4;
}

.fge-product-description__callout {
	max-width: 900px;
	margin-top: 38px;
	padding: 25px 28px;
	border: 1px solid #f4f1ec;
	border-radius: 14px;
	background: #fdfbf4;
	color: #625d57;
	font-size: 16px;
	font-style: italic;
	line-height: 1.5;
	box-sizing: border-box;
}

.fge-product-ingredients .fge-product-section-title {
	margin-bottom: 24px;
}

.fge-ingredient-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	max-width: 900px;
	margin-top: 38px;
}

.fge-ingredient-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 130px;
	padding: 22px;
	border-radius: 12px;
	background: #f4f1ec;
	text-align: center;
	box-sizing: border-box;
}

.fge-ingredient-stat__value {
	color: #10213e;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 38px;
	font-weight: 400;
	line-height: 1;
}

.fge-ingredient-stat__label {
	margin-top: 12px;
	color: #77716a;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
}

@media (max-width: 767px) {
	.fge-product-description__intro,
	.fge-product-ingredients__content {
		font-size: 16px;
	}

	.fge-product-section-title {
		font-size: 25px;
	}

	.fge-why-love-grid,
	.fge-ingredient-stats {
		grid-template-columns: 1fr;
	}
}


/* v1.3.3 tab typography refinements */
.fge-product-description,
.fge-product-ingredients,
.fge-product-description p,
.fge-product-ingredients p,
.fge-product-description li,
.fge-product-ingredients li,
.fge-product-description__intro,
.fge-product-ingredients__content,
.fge-product-description__callout,
.fge-perfect-for-list li,
.fge-why-love-card p,
.fge-ingredient-stat__label {
	font-size: 20px;
}

.fge-product-section-title {
	margin-bottom: 20px !important;
	padding-bottom: 20px;
}

/* Match FAQ-style section-heading scale while keeping semantic h3 output. */
h3.fge-product-section-title {
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.1;
	color: #343434;
}

/* Keep the Description-tab sub-section titles at their existing visual size. */
.fge-product-description h3.fge-product-section-title {
	font-size: 28px;
	line-height: 1.2;
}

/* Ingredient card value emphasis. */
.fge-ingredient-stat__value {
	font-weight: 700;
}

@media (max-width: 767px) {
	h3.fge-product-section-title {
		font-size: 34px;
	}

	.fge-product-description h3.fge-product-section-title {
		font-size: 25px;
	}

	.fge-product-description,
	.fge-product-ingredients,
	.fge-product-description p,
	.fge-product-ingredients p,
	.fge-product-description li,
	.fge-product-ingredients li,
	.fge-product-description__intro,
	.fge-product-ingredients__content,
	.fge-product-description__callout,
	.fge-perfect-for-list li,
	.fge-why-love-card p,
	.fge-ingredient-stat__label {
		font-size: 17px;
	}
}


/* v1.3.4 final lower-tab typography adjustments */

/* Description card titles and text should remain Nunito Sans even when
   global Elementor/theme heading styles target h3 elements. */
.fge-product-description .fge-why-love-card h3,
.fge-product-description .fge-why-love-card p {
	font-family: "Nunito Sans", sans-serif !important;
}

.fge-product-description .fge-why-love-card h3 {
	font-weight: 800 !important;
}

/* Bring the Ingredients h3 closer to the WYSIWYG FAQ h3 scale. */
.fge-product-ingredients h3.fge-product-section-title {
	font-size: 38px;
	line-height: 1.15;
}

@media (max-width: 767px) {
	.fge-product-ingredients h3.fge-product-section-title {
		font-size: 30px;
	}
}


/* v1.3.5 purchase spacing and checkbox interaction polish */
.single-product form.cart.fge-purchase-form {
	row-gap: 40px !important;
	column-gap: 16px !important;
}

.single-product form.cart.fge-purchase-form ul.wcsatt-options-product > li.subscription-option input[type="radio"] {
	pointer-events: auto !important;
	cursor: pointer !important;
	z-index: 2;
}

/* Compact dynamic pricing used in manually built shop cards. */
.fge-product-price--card {
	width: auto;
	margin: 0;
	gap: 16px;
	font-family: "Nunito Sans", sans-serif;
}

.fge-product-price--card .fge-product-price__current {
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
}

.fge-product-price--card .fge-product-price__regular {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
}


/* =========================================================
   v1.5.0 Woo Subscriptions 9.x native cards

   Reveal Woo's own hidden plan-radio list and style it with the established
   FGE card design. Hide only the duplicate purchase prompt and dropdown.
   ========================================================= */

/* Never hide the shared wrapper or the product-options wrapper. Woo normally
   toggles the latter with an inline display:none when one-time is selected. */
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-wrapper,
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-product-wrapper {
	display: block !important;
	visibility: visible !important;
	width: 100% !important;
	max-width: 100% !important;
	opacity: 1 !important;
}

/* Hide only Woo's duplicate purchase-type prompt. The inputs remain in the
   form and continue to be controlled by the native-card JavaScript. */
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-product-prompt {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

/* Hide dropdown-mode presentation while retaining the select in the form. */
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-product-dropdown-label,
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-product-dropdown,
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-product-details {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

/* Woo adds --hidden when dropdown mode is enabled. This is still the real,
   fully functional plan list, so reveal it as the customer-facing cards. */
.single-product form.cart.fge-wcs-native-cards ul.wcsatt-options-product,
.single-product form.cart.fge-wcs-native-cards ul.wcsatt-options-product--hidden {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 40px 0 0 !important;
	padding: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
	list-style: none !important;
}

/* Do not let legacy bridge classes from cached markup hide anything. */
.single-product form.cart.fge-wcs-native-cards .fge-native-purchase-control-group,
.single-product form.cart.fge-wcs-native-cards .fge-native-frequency-row,
.single-product form.cart.fge-wcs-native-cards .fge-native-purchase-control-item,
.single-product form.cart.fge-wcs-native-cards .fge-native-frequency-select {
	display: revert !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	clip-path: none !important;
}

/* But continue hiding the exact native prompt/dropdown through the selectors
   above, which are based on Woo Subscriptions 9.0 template class names. */
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-product-prompt.fge-native-purchase-control-group,
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-product-dropdown-label.fge-native-frequency-row,
.single-product form.cart.fge-wcs-native-cards .wcsatt-options-product-dropdown.fge-native-frequency-select {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
}


/* =========================================================
   v1.6.0 Cart foundation — Elementor Pro native Cart widget
   Keeps WooCommerce markup and behavior intact while creating the
   first desktop design pass: card layout, product hierarchy, quantity
   stepper, coupon treatment, and order-summary styling.
   ========================================================= */
body.woocommerce-cart {
	--fge-cart-navy: #10213e;
	--fge-cart-blue: #58bdd9;
	--fge-cart-blue-dark: #3196d1;
	--fge-cart-cream: #fdfbf4;
	--fge-cart-line: #e7e3dc;
	--fge-cart-muted: #5f6775;
	background: var(--fge-cart-cream);
}

body.woocommerce-cart .elementor-widget-woocommerce-cart,
body.woocommerce-cart .elementor-widget-woocommerce-cart .elementor-widget-container,
body.woocommerce-cart .e-cart,
body.woocommerce-cart .woocommerce {
	font-family: "Nunito Sans", Arial, sans-serif;
}

/* Overall two-column proportions and spacing. */
body.woocommerce-cart .e-cart__container {
	display: grid !important;
	grid-template-columns: minmax(0, 1.55fr) minmax(360px, 1fr) !important;
	gap: 24px !important;
	align-items: start !important;
}

body.woocommerce-cart .e-cart__column-start,
body.woocommerce-cart .e-cart__column-end {
	min-width: 0;
}

/* Cart item table becomes a single rounded card per row. */
body.woocommerce-cart .woocommerce-cart-form {
	margin: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody,
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	display: block !important;
	width: 100% !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table {
	border: 0 !important;
	border-collapse: separate !important;
	background: transparent !important;
	margin: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
	display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
	display: grid !important;
	gap: 18px !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	position: relative;
	display: grid !important;
	grid-template-columns: 42px 132px minmax(180px, 1fr) 130px 138px 120px !important;
	align-items: center !important;
	gap: 18px !important;
	min-height: 184px;
	padding: 24px 26px !important;
	border: 1px solid var(--fge-cart-line) !important;
	border-radius: 22px !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: left !important;
}

body.woocommerce-cart .woocommerce-cart-form td::before {
	display: none !important;
}

body.woocommerce-cart .product-remove {
	grid-column: 1;
	grid-row: 1;
}

body.woocommerce-cart .product-thumbnail {
	grid-column: 2;
	grid-row: 1;
}

body.woocommerce-cart .product-name {
	grid-column: 3;
	grid-row: 1;
}

body.woocommerce-cart .product-price {
	grid-column: 4;
	grid-row: 1;
}

body.woocommerce-cart .product-quantity {
	grid-column: 5;
	grid-row: 1;
}

body.woocommerce-cart .product-subtotal {
	grid-column: 6;
	grid-row: 1;
}

/* Remove control. */
body.woocommerce-cart .woocommerce-cart-form a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px !important;
	height: 38px !important;
	border: 1px solid var(--fge-cart-line) !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: var(--fge-cart-navy) !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

body.woocommerce-cart .woocommerce-cart-form a.remove::before,
body.woocommerce-cart .woocommerce-cart-form a.remove::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

body.woocommerce-cart .woocommerce-cart-form a.remove::before { transform: rotate(45deg); }
body.woocommerce-cart .woocommerce-cart-form a.remove::after { transform: rotate(-45deg); }
body.woocommerce-cart .woocommerce-cart-form a.remove:hover,
body.woocommerce-cart .woocommerce-cart-form a.remove:focus {
	border-color: var(--fge-cart-blue-dark) !important;
	background: #f4fbfd !important;
	transform: scale(1.04);
}

/* Product image and name hierarchy. */
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 132px;
	height: 132px;
	padding: 8px;
	border-radius: 18px;
	background: #fbfaf8;
	overflow: hidden;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain !important;
	margin: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name > a {
	display: inline-block;
	color: var(--fge-cart-navy) !important;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 1.15;
	text-decoration: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name > a:hover,
body.woocommerce-cart .woocommerce-cart-form .product-name > a:focus {
	color: var(--fge-cart-blue-dark) !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name dl.variation,
body.woocommerce-cart .woocommerce-cart-form .product-name .variation,
body.woocommerce-cart .woocommerce-cart-form .product-name .wcsatt-cart-item-subscription {
	margin: 10px 0 0 !important;
	font-size: 14px;
	line-height: 1.45;
	color: var(--fge-cart-muted);
}

body.woocommerce-cart .woocommerce-cart-form .product-name dl.variation dt,
body.woocommerce-cart .woocommerce-cart-form .product-name dl.variation dd {
	float: none !important;
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name dl.variation dd::after {
	content: "";
	display: block;
}

/* Price and subtotal. */
body.woocommerce-cart .woocommerce-cart-form .product-price,
body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
	color: var(--fge-cart-navy);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.35;
}

body.woocommerce-cart .woocommerce-cart-form .subscription-details {
	display: block;
	margin-top: 3px;
	font-size: 13px;
	font-weight: 600;
	color: var(--fge-cart-muted);
}

/* Quantity stepper inserted by cart JavaScript. */
body.woocommerce-cart .woocommerce-cart-form .quantity.fge-cart-quantity {
	display: grid !important;
	grid-template-columns: 38px 52px 38px;
	align-items: center;
	width: 128px !important;
	height: 44px;
	border: 1px solid var(--fge-cart-line);
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}

body.woocommerce-cart .woocommerce-cart-form .quantity.fge-cart-quantity input.qty {
	width: 52px !important;
	height: 42px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--fge-cart-navy);
	font-size: 15px;
	font-weight: 800;
	text-align: center;
	-moz-appearance: textfield;
}

body.woocommerce-cart .woocommerce-cart-form .quantity.fge-cart-quantity input.qty::-webkit-inner-spin-button,
body.woocommerce-cart .woocommerce-cart-form .quantity.fge-cart-quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.woocommerce-cart .fge-cart-qty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fge-cart-navy);
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

body.woocommerce-cart .fge-cart-qty-button:hover,
body.woocommerce-cart .fge-cart-qty-button:focus {
	background: #f4fbfd;
	color: var(--fge-cart-blue-dark);
}

/* Cart actions/coupon area. */
body.woocommerce-cart .woocommerce-cart-form tr:not(.woocommerce-cart-form__cart-item) {
	display: block !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions {
	display: flex !important;
	align-items: center;
	gap: 16px;
	margin-top: 22px;
	padding: 24px 30px !important;
	border: 1px solid var(--fge-cart-line) !important;
	border-radius: 22px !important;
	background: #fff !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
	display: grid !important;
	grid-template-columns: minmax(220px, 1fr) 210px;
	gap: 14px;
	width: 100%;
}

body.woocommerce-cart .woocommerce-cart-form td.actions .coupon label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

body.woocommerce-cart .woocommerce-cart-form td.actions input.input-text {
	width: 100% !important;
	height: 52px;
	padding: 0 18px !important;
	border: 1px solid #cfd3da !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
	font-size: 15px;
}

body.woocommerce-cart .woocommerce-cart-form td.actions button.button {
	height: 52px;
	padding: 0 24px !important;
	border: 1px solid var(--fge-cart-blue-dark) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--fge-cart-navy) !important;
	font-size: 16px;
	font-weight: 800;
	text-transform: none !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions button.button:hover,
body.woocommerce-cart .woocommerce-cart-form td.actions button.button:focus {
	background: #f4fbfd !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"] {
	display: none !important;
}

/* Order summary card. */
body.woocommerce-cart .cart_totals {
	width: 100% !important;
	margin: 0 !important;
	padding: 30px 32px 32px !important;
	border: 1px solid var(--fge-cart-line) !important;
	border-radius: 22px !important;
	background: #fff !important;
}

body.woocommerce-cart .cart_totals h2 {
	margin: 0 0 26px !important;
	color: #161616;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 29px;
	font-weight: 400;
	line-height: 1.2;
}

body.woocommerce-cart .cart_totals table.shop_table {
	width: 100% !important;
	margin: 0 0 24px !important;
	border: 0 !important;
	border-collapse: collapse !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr,
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
	border: 0 !important;
	background: transparent !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
	padding: 9px 0 !important;
	font-size: 15px;
	line-height: 1.45;
}

body.woocommerce-cart .cart_totals table.shop_table th {
	width: 42%;
	color: var(--fge-cart-muted);
	font-weight: 800;
	text-align: left;
}

body.woocommerce-cart .cart_totals table.shop_table td {
	color: var(--fge-cart-navy);
	font-weight: 700;
	text-align: right;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	padding-top: 16px !important;
	border-top: 1px solid var(--fge-cart-line) !important;
	font-size: 18px;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
	padding: 0 !important;
}

body.woocommerce-cart .cart_totals .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 56px;
	margin: 0 !important;
	padding: 14px 24px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--fge-cart-blue) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.2;
	text-transform: none !important;
	box-shadow: none !important;
}

body.woocommerce-cart .cart_totals .checkout-button:hover,
body.woocommerce-cart .cart_totals .checkout-button:focus {
	background: var(--fge-cart-blue-dark) !important;
}

/* Woo notices: keep functional but reduce the oversized default treatment. */
body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) {
	margin-bottom: 18px;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
	margin: 0 0 18px !important;
	padding: 16px 22px 16px 52px !important;
	border: 1px solid var(--fge-cart-line) !important;
	border-top: 3px solid #7fae19 !important;
	border-radius: 12px !important;
	background: #fff !important;
	font-size: 15px;
}

@media (max-width: 1180px) {
	body.woocommerce-cart .e-cart__container {
		grid-template-columns: minmax(0, 1.35fr) minmax(330px, .9fr) !important;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 38px 110px minmax(150px, 1fr) 110px 128px !important;
	}

	body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
		display: none !important;
	}
}

@media (max-width: 900px) {
	body.woocommerce-cart .e-cart__container {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================================
   v1.6.1 Cart refinement and native subscription upsell select
   ========================================================= */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
	min-height: 0 !important;
	height: auto !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
	align-content: start !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	min-height: 150px !important;
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a {
	width: 112px !important;
	height: 112px !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	grid-template-columns: 42px 112px minmax(220px, 1fr) 120px 128px 100px !important;
}

/* Elementor may wrap or relocate the native Update cart button. Keep it
   available to JavaScript, but remove it completely from the visual layout. */
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
body.woocommerce-cart .woocommerce-cart-form input[name="update_cart"],
body.woocommerce-cart .woocommerce-cart-form .e-cart__update-cart,
body.woocommerce-cart .woocommerce-cart-form .e-cart__update-cart-button {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

/* Avoid a blank actions shell inside the product-card panel when Elementor
   renders the coupon controls in its own section below the cart table. */
body.woocommerce-cart .woocommerce-cart-form td.actions:has(.coupon:empty),
body.woocommerce-cart .woocommerce-cart-form td.actions:not(:has(.coupon)) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name {
	align-self: center !important;
}

body.woocommerce-cart .fge-cart-current-plan,
body.woocommerce-cart .fge-cart-subscription-upsell {
	margin-top: 12px;
	font-family: "Nunito Sans", sans-serif;
}

body.woocommerce-cart .fge-cart-current-plan {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 11px;
	border-radius: 999px;
	background: #f4f1ec;
	color: var(--fge-cart-navy);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
}

body.woocommerce-cart .fge-cart-current-plan::before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--fge-cart-blue);
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
}

body.woocommerce-cart .fge-cart-subscription-upsell__label {
	display: block;
	margin-bottom: 6px;
	color: var(--fge-cart-muted);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: .03em;
}

body.woocommerce-cart .fge-cart-subscription-upsell select {
	width: min(100%, 270px) !important;
	height: 42px !important;
	padding: 0 38px 0 14px !important;
	border: 1px solid var(--fge-cart-line) !important;
	border-radius: 9px !important;
	background-color: #fff !important;
	color: var(--fge-cart-navy) !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	box-shadow: none !important;
	cursor: pointer;
}

body.woocommerce-cart .fge-cart-subscription-upsell select:focus {
	border-color: var(--fge-cart-blue-dark) !important;
	outline: 2px solid rgba(49, 150, 209, .18) !important;
	outline-offset: 1px;
}

/* The official extension remains the source of truth. Its native cart-item
   controls stay in the DOM and are merely visually replaced by our select. */
body.woocommerce-cart .fge-native-cart-plan-controls {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

@media (max-width: 1180px) {
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 38px 102px minmax(190px, 1fr) 105px 128px !important;
	}

	body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a {
		width: 102px !important;
		height: 102px !important;
	}
}

/* Cart structural pass v1.7.0 */
body.woocommerce-cart .fge-cart-shipping-progress {
	margin: 0 0 16px;
	padding: 18px 20px 16px;
	border: 1px solid #e8e4dc;
	border-radius: 12px;
	background: #fff;
	font-family: "Nunito Sans", sans-serif;
}
body.woocommerce-cart .fge-cart-shipping-progress__message { display:flex; align-items:center; gap:10px; margin-bottom:12px; color:#4d8b59; font-size:14px; font-weight:700; }
body.woocommerce-cart .fge-cart-shipping-progress__icon { width:18px; height:18px; display:inline-flex; }
body.woocommerce-cart .fge-cart-shipping-progress__icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; }
body.woocommerce-cart .fge-cart-shipping-progress__track { height:8px; overflow:hidden; border-radius:999px; background:#eaf1f5; }
body.woocommerce-cart .fge-cart-shipping-progress__track span { display:block; height:100%; border-radius:inherit; background:#3196d1; }

body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	grid-template-columns: 42px 118px minmax(260px,1fr) 110px 130px 100px;
	grid-template-areas: "remove image name price qty subtotal";
	align-items:center;
	padding:24px 20px;
}
body.woocommerce-cart .woocommerce-cart-form .product-remove { grid-area:remove; }
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail { grid-area:image; }
body.woocommerce-cart .woocommerce-cart-form .product-name { grid-area:name; align-self:center; }
body.woocommerce-cart .woocommerce-cart-form .product-price { grid-area:price; }
body.woocommerce-cart .woocommerce-cart-form .product-quantity { grid-area:qty; }
body.woocommerce-cart .woocommerce-cart-form .product-subtotal { grid-area:subtotal; }
body.woocommerce-cart .fge-cart-item-meta { display:flex; flex-direction:column; align-items:flex-start; gap:5px; margin-top:8px; }
body.woocommerce-cart .fge-cart-item-meta__badge { display:inline-flex; padding:4px 9px; border-radius:999px; background:#edf6ed; color:#56835c; font:700 11px/1.2 "Nunito Sans",sans-serif; }
body.woocommerce-cart .fge-cart-item-meta__collection { color:#6f756f; font:italic 12px/1.3 "Nunito Sans",sans-serif; }
body.woocommerce-cart .fge-cart-item-meta__details { color:#68707d; font:500 12px/1.4 "Nunito Sans",sans-serif; }

body.woocommerce-cart .fge-cart-cross-sells { margin-top:28px; }
body.woocommerce-cart .fge-cart-cross-sells h2 { margin:0 0 14px; color:#10213e; font-family:"DM Serif Display",serif; font-size:23px; line-height:1.2; }
body.woocommerce-cart .fge-cart-cross-sells__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
body.woocommerce-cart .fge-cart-cross-sell { display:grid; grid-template-columns:92px minmax(0,1fr); gap:14px; min-height:116px; padding:12px; border:1px solid #e8e4dc; border-radius:10px; background:#fff; }
body.woocommerce-cart .fge-cart-cross-sell__image { display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:8px; background:#f7f4ee; }
body.woocommerce-cart .fge-cart-cross-sell__image img { width:100%; height:100%; max-height:90px; object-fit:contain; }
body.woocommerce-cart .fge-cart-cross-sell__content { display:flex; flex-direction:column; min-width:0; }
body.woocommerce-cart .fge-cart-cross-sell__badge { color:#56835c; font:700 11px/1.2 "Nunito Sans",sans-serif; }
body.woocommerce-cart .fge-cart-cross-sell__title { margin-top:4px; color:#10213e; font:700 15px/1.25 "Nunito Sans",sans-serif; text-decoration:none; }
body.woocommerce-cart .fge-cart-cross-sell__bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:10px; margin-top:auto; }
body.woocommerce-cart .fge-cart-cross-sell__price { color:#171717; font:700 14px/1.2 "Nunito Sans",sans-serif; }
body.woocommerce-cart .fge-cart-cross-sell__add { color:#10213e; font:800 13px/1.2 "Nunito Sans",sans-serif; text-decoration:none; white-space:nowrap; }

@media (max-width: 1024px) {
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 38px 100px minmax(180px,1fr) 100px 115px;
		grid-template-areas:"remove image name price subtotal" "remove image name qty qty";
	}
}

/* =========================================================
   v1.7.1 Cart polish: compact promo card and subscription panels.
   ========================================================= */
body.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce-cart-form td.actions,
body.woocommerce-cart .e-cart__column-start .woocommerce-cart-form td.actions,
body.woocommerce-cart .woocommerce-cart-form .actions {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 10px !important;
	margin-top: 24px !important;
	padding: 18px 20px 20px !important;
	border: 1px solid var(--fge-cart-line, #e5e1da) !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce-cart-form td.actions::before,
body.woocommerce-cart .e-cart__column-start .woocommerce-cart-form td.actions::before,
body.woocommerce-cart .woocommerce-cart-form .actions::before {
	content: "Have a promo code?";
	display: block;
	color: var(--fge-cart-navy, #10213e);
	font: 800 14px/1.2 "Nunito Sans", sans-serif;
}

body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 110px !important;
	gap: 10px !important;
	width: 100% !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions input.input-text {
	height: 44px !important;
	padding: 0 14px !important;
	border: 1px solid #d8d9dd !important;
	border-radius: 9px !important;
	font-size: 14px !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button,
body.woocommerce-cart .woocommerce-cart-form td.actions button[name="apply_coupon"] {
	height: 44px !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: #8b96a8 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 800 !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button:hover,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button:focus,
body.woocommerce-cart .woocommerce-cart-form td.actions button[name="apply_coupon"]:hover,
body.woocommerce-cart .woocommerce-cart-form td.actions button[name="apply_coupon"]:focus {
	background: #748196 !important;
	color: #fff !important;
}

body.woocommerce-cart .fge-cart-current-plan,
body.woocommerce-cart .fge-cart-subscription-upsell {
	box-sizing: border-box;
	width: min(100%, 560px);
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px solid #e7e4de;
	border-radius: 10px;
	background: #f8f7f3;
	color: var(--fge-cart-navy, #10213e);
	font: 800 13px/1.35 "Nunito Sans", sans-serif;
}

body.woocommerce-cart .fge-cart-current-plan::before {
	content: "↻";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-right: 7px;
	border-radius: 50%;
	background: #dff3f9;
	color: #3196d1;
	font-size: 12px;
	vertical-align: -1px;
}

body.woocommerce-cart .fge-cart-subscription-upsell__label {
	display: block;
	margin-bottom: 8px;
	color: var(--fge-cart-navy, #10213e);
	font-weight: 800;
}

body.woocommerce-cart .fge-cart-subscription-upsell select {
	width: 100%;
	height: 42px;
	padding: 0 36px 0 12px;
	border: 1px solid #d9d9d6;
	border-radius: 8px;
	background: #fff;
	color: #26344a;
	font: 700 13px/1 "Nunito Sans", sans-serif;
}

body.woocommerce-cart .fge-native-cart-plan-controls {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

body.woocommerce-cart .fge-cart-cross-sells {
	margin-top: 34px;
}

body.woocommerce-cart .fge-cart-cross-sells h2 {
	margin-bottom: 14px;
}

body.woocommerce-cart .fge-cart-cross-sell {
	min-height: 112px;
	padding: 10px 12px;
}

body.woocommerce-cart .fge-cart-cross-sell__image {
	width: 88px;
	min-width: 88px;
	height: 88px;
}

@media (max-width: 767px) {
	body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================================
   v1.7.2 Coupon placement correction for Elementor Cart.
   Elementor may render the live coupon block outside td.actions while leaving
   an empty actions cell inside the cart table. Style the coupon itself and
   collapse only the empty shell.
   ========================================================= */
body.woocommerce-cart .woocommerce-cart-form td.actions:not(:has(.coupon)),
body.woocommerce-cart .woocommerce-cart-form td.actions:has(.coupon:empty) {
	display: none !important;
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	overflow: hidden !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions::before {
	content: none !important;
	display: none !important;
}

body.woocommerce-cart .e-cart__column-start .coupon,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 110px !important;
	gap: 10px !important;
	width: 100% !important;
	margin-top: 24px !important;
	padding: 48px 18px 18px !important;
	border: 1px solid var(--fge-cart-line, #e5e2dc) !important;
	border-radius: 14px !important;
	background: #fff !important;
	position: relative !important;
	float: none !important;
}

body.woocommerce-cart .e-cart__column-start .coupon::before,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon::before,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon::before {
	content: "Have a promo code?";
	position: absolute;
	top: 17px;
	left: 18px;
	display: block;
	color: var(--fge-cart-navy, #10213e);
	font: 800 14px/1.2 "Nunito Sans", sans-serif;
}

body.woocommerce-cart .e-cart__column-start .coupon label,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon label,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.woocommerce-cart .e-cart__column-start .coupon input.input-text,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon input.input-text,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon input.input-text {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 1px solid #d8d9dd !important;
	border-radius: 9px !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.woocommerce-cart .e-cart__column-start .coupon button.button,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon button.button,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: #8b96a8 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	text-transform: none !important;
}

@media (max-width: 767px) {
	body.woocommerce-cart .e-cart__column-start .coupon,
	body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon,
	body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================================
   v1.8.0 Cart card internals and one-time subscription upsell.
   ========================================================= */
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	grid-template-columns: 118px minmax(0, 1fr) 138px 112px !important;
	grid-template-areas:
		"image name name remove"
		"image name name remove"
		"image qty price subtotal" !important;
	column-gap: 22px !important;
	row-gap: 14px !important;
	align-items: start !important;
	min-height: 220px !important;
	padding: 22px 24px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail {
	grid-area: image !important;
	align-self: start !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name {
	grid-area: name !important;
	align-self: start !important;
	padding-right: 10px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove {
	grid-area: remove !important;
	justify-self: end !important;
	align-self: start !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-quantity {
	grid-area: qty !important;
	align-self: end !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-price {
	grid-area: price !important;
	align-self: end !important;
	justify-self: end !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
	grid-area: subtotal !important;
	align-self: end !important;
	justify-self: end !important;
}

body.woocommerce-cart .woocommerce-cart-form a.remove {
	position: relative !important;
	width: 32px !important;
	height: 32px !important;
	border: 0 !important;
	background: transparent !important;
	border-radius: 8px !important;
}

body.woocommerce-cart .woocommerce-cart-form a.remove::before {
	content: "" !important;
	position: absolute !important;
	left: 10px !important;
	top: 10px !important;
	width: 12px !important;
	height: 14px !important;
	border: 1.7px solid currentColor !important;
	border-top: 0 !important;
	border-radius: 0 0 2px 2px !important;
	background: transparent !important;
	transform: none !important;
}

body.woocommerce-cart .woocommerce-cart-form a.remove::after {
	content: "" !important;
	position: absolute !important;
	left: 9px !important;
	top: 7px !important;
	width: 14px !important;
	height: 2px !important;
	border-radius: 2px !important;
	background: currentColor !important;
	box-shadow: 4px -3px 0 -1px currentColor !important;
	transform: none !important;
}

body.woocommerce-cart .fge-cart-subscription-upsell--generated {
	width: min(100%, 620px) !important;
	margin-top: 14px !important;
	padding: 12px 14px 14px !important;
	border-radius: 10px !important;
	background: #f8f7f3 !important;
}

body.woocommerce-cart .fge-cart-subscription-upsell--generated .fge-cart-subscription-upsell__label {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 0 9px !important;
	font-size: 13px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body.woocommerce-cart .fge-cart-subscription-upsell--generated .fge-cart-subscription-upsell__label span {
	color: #3196d1 !important;
}

body.woocommerce-cart .fge-cart-subscription-upsell--generated select {
	width: 100% !important;
	max-width: none !important;
	height: 44px !important;
}

body.woocommerce-cart .fge-cart-subscription-upsell--generated.is-loading {
	opacity: .72;
}

body.woocommerce-cart .fge-cart-plan-status {
	display: block;
	min-height: 16px;
	margin-top: 6px;
	color: #68707d;
	font: 700 11px/1.3 "Nunito Sans", sans-serif;
}

body.woocommerce-cart .fge-cart-current-plan {
	width: min(100%, 620px) !important;
}

@media (max-width: 1180px) {
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 102px minmax(0, 1fr) 122px 90px !important;
	}
}


/* v1.8.1: option data is only a sanitization-safe transport for JS. */
body.woocommerce-cart .fge-cart-plan-options[hidden] {
	display: none !important;
}
body.woocommerce-cart .fge-cart-plan-control {
	display: block !important;
	width: 100% !important;
}
body.woocommerce-cart .fge-cart-plan-control .fge-cart-plan-select {
	display: block !important;
	width: 100% !important;
	height: 44px !important;
	padding: 0 42px 0 14px !important;
	border: 1px solid #dedbd4 !important;
	border-radius: 8px !important;
	background-color: #fff !important;
	color: #10213e !important;
	font: 700 13px/1 "Nunito Sans", sans-serif !important;
	appearance: auto !important;
	-webkit-appearance: menulist !important;
}

/* =========================================================
   v1.9.0 Cart visual refinement
   Product-card hierarchy, summary emphasis, checkout/trust area,
   coupon polish, and cross-sell proportions.
   ========================================================= */

/* Slightly closer to the mockup's left/right proportions. */
body.woocommerce-cart .e-cart__container {
	grid-template-columns: minmax(0, 1.7fr) minmax(390px, .98fr) !important;
	gap: 28px !important;
}

/* Keep the summary visible while reviewing a longer cart on desktop. */
@media (min-width: 1025px) {
	body.woocommerce-cart .e-cart__column-end {
		position: sticky;
		top: 24px;
	}
}

/* Product cards: cleaner hierarchy and a more deliberate bottom row. */
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
	gap: 14px !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	grid-template-columns: 112px minmax(0, 1fr) 126px 108px !important;
	grid-template-areas:
		"image name name remove"
		"image name name remove"
		"image qty price subtotal" !important;
	min-height: 236px !important;
	padding: 20px 22px !important;
	border-radius: 16px !important;
	row-gap: 12px !important;
	column-gap: 20px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a {
	width: 112px !important;
	height: 128px !important;
	padding: 8px !important;
	border-radius: 12px !important;
	background: #f8f6f1 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name > a {
	font-size: 24px !important;
	line-height: 1.08 !important;
}

body.woocommerce-cart .fge-cart-item-meta {
	gap: 4px !important;
	margin-top: 6px !important;
}

body.woocommerce-cart .fge-cart-subscription-upsell--generated {
	width: min(100%, 600px) !important;
	margin-top: 12px !important;
	padding: 11px 12px 12px !important;
	border: 1px solid #ebe7df !important;
	border-radius: 10px !important;
	background: #f8f7f3 !important;
}

body.woocommerce-cart .fge-cart-plan-control .fge-cart-plan-select {
	height: 42px !important;
	border-radius: 7px !important;
	background-position: right 14px center !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-price {
	align-self: end !important;
	justify-self: end !important;
	color: #68707d !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-align: right !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
	align-self: end !important;
	justify-self: end !important;
	color: var(--fge-cart-navy) !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	text-align: right !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-price .subscription-details,
body.woocommerce-cart .woocommerce-cart-form .product-subtotal .subscription-details {
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

body.woocommerce-cart .woocommerce-cart-form a.remove {
	color: #10213e !important;
	opacity: .82;
}
body.woocommerce-cart .woocommerce-cart-form a.remove:hover,
body.woocommerce-cart .woocommerce-cart-form a.remove:focus {
	opacity: 1;
	background: #f5f8fa !important;
}

/* Coupon card: compact, intentional, and visually subordinate to cart items. */
body.woocommerce-cart .e-cart__column-start .coupon,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
	grid-template-columns: minmax(0, 1fr) 138px !important;
	margin-top: 18px !important;
	padding: 44px 16px 16px !important;
	border-radius: 12px !important;
}

body.woocommerce-cart .e-cart__column-start .coupon::before,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon::before,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon::before {
	top: 15px !important;
	left: 16px !important;
	font-size: 13px !important;
}

body.woocommerce-cart .e-cart__column-start .coupon input.input-text,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon input.input-text,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon input.input-text,
body.woocommerce-cart .e-cart__column-start .coupon button.button,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon button.button,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button {
	height: 42px !important;
}

body.woocommerce-cart .e-cart__column-start .coupon button.button,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon button.button,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button {
	background: #8e99aa !important;
}
body.woocommerce-cart .e-cart__column-start .coupon button.button:hover,
body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon button.button:hover,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button:hover {
	background: #10213e !important;
}

/* Order-summary card. */
body.woocommerce-cart .e-cart__column-end .cart_totals,
body.woocommerce-cart .e-cart__column-end .e-cart__column-inner {
	border-radius: 16px !important;
	background: #fff !important;
}

body.woocommerce-cart .e-cart__column-end .cart_totals {
	padding: 24px 26px 22px !important;
}

body.woocommerce-cart .e-cart__column-end .cart_totals h2,
body.woocommerce-cart .e-cart__column-end .e-cart__column-inner h2 {
	margin: 0 0 22px !important;
	color: #10213e !important;
	font-family: "DM Serif Display", Georgia, serif !important;
	font-size: 25px !important;
	font-weight: 400 !important;
}

body.woocommerce-cart .e-cart__column-end .shop_table {
	margin-bottom: 16px !important;
}

body.woocommerce-cart .e-cart__column-end .shop_table tr {
	border: 0 !important;
}

body.woocommerce-cart .e-cart__column-end .shop_table th,
body.woocommerce-cart .e-cart__column-end .shop_table td {
	padding-top: 9px !important;
	padding-bottom: 9px !important;
	font-size: 14px !important;
}

body.woocommerce-cart .e-cart__column-end .order-total th,
body.woocommerce-cart .e-cart__column-end .order-total td {
	padding-top: 16px !important;
	border-top: 1px solid #e8e4dd !important;
	color: #10213e !important;
	font-size: 20px !important;
	font-weight: 900 !important;
}

body.woocommerce-cart .e-cart__column-end .wc-proceed-to-checkout {
	padding: 0 !important;
	margin-top: 14px !important;
}

body.woocommerce-cart .e-cart__column-end .checkout-button,
body.woocommerce-cart .e-cart__column-end a.checkout-button {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 50px !important;
	border-radius: 8px !important;
	background: #10213e !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	text-transform: none !important;
	box-shadow: none !important;
}

body.woocommerce-cart .e-cart__column-end .checkout-button:hover,
body.woocommerce-cart .e-cart__column-end a.checkout-button:hover {
	background: #18355f !important;
}

/* Trust strip injected after the real checkout button. */
body.woocommerce-cart .fge-cart-trust-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
	margin-top: 18px;
	padding-top: 17px;
	border-top: 1px solid #e8e4dd;
}

body.woocommerce-cart .fge-cart-trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	color: #5c6673;
	font: 700 11px/1.3 "Nunito Sans", sans-serif;
}

body.woocommerce-cart .fge-cart-trust-item__icon {
	flex: 0 0 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border: 1px solid #72a97b;
	border-radius: 50%;
	color: #5d9968;
	font-size: 11px;
	font-weight: 900;
}

/* Cross-sells: smaller image, tighter information area, clearer Add action. */
body.woocommerce-cart .fge-cart-cross-sells {
	margin-top: 34px !important;
}

body.woocommerce-cart .fge-cart-cross-sells__title {
	margin-bottom: 12px !important;
	font-size: 22px !important;
}

body.woocommerce-cart .fge-cart-cross-sells__grid {
	gap: 14px !important;
}

body.woocommerce-cart .fge-cart-cross-sell {
	min-height: 108px !important;
	padding: 10px 12px !important;
	border-radius: 12px !important;
}

body.woocommerce-cart .fge-cart-cross-sell__image {
	width: 82px !important;
	height: 86px !important;
	border-radius: 9px !important;
}

body.woocommerce-cart .fge-cart-cross-sell__add {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 56px !important;
	height: 32px !important;
	padding: 0 10px !important;
	border: 1px solid #dfe3e8 !important;
	border-radius: 7px !important;
	background: #fff !important;
	color: #10213e !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

body.woocommerce-cart .fge-cart-cross-sell__add:hover,
body.woocommerce-cart .fge-cart-cross-sell__add:focus {
	border-color: #10213e !important;
	background: #10213e !important;
	color: #fff !important;
}

@media (max-width: 1180px) {
	body.woocommerce-cart .e-cart__container {
		grid-template-columns: minmax(0, 1.5fr) minmax(350px, 1fr) !important;
	}
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 102px minmax(0, 1fr) 112px 92px !important;
	}
}

/* =========================================================
   v1.9.1 Cart polish
   Single displayed item total, compact left-column cross-sells,
   and supplied trust badge artwork.
   ========================================================= */

/* Woo outputs unit price and line subtotal in separate table cells. The cart
   design only needs the final line price, so retain the Woo subtotal and hide
   the repeated unit-price cell visually. */
body.woocommerce-cart .woocommerce-cart-form .product-price {
	display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	grid-template-columns: 112px minmax(0, 1fr) 148px 44px !important;
	grid-template-areas:
		"image name name remove"
		"image name name remove"
		"image qty subtotal subtotal" !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
	align-self: end !important;
	justify-self: end !important;
	min-width: 138px !important;
	color: #10213e !important;
	font-size: 19px !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	text-align: right !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal .amount {
	font-size: inherit !important;
	font-weight: 900 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal .subscription-details {
	display: block !important;
	margin-top: 4px !important;
	color: #10213e !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

/* Use the supplied branded artwork instead of generic checkmarks. */
body.woocommerce-cart .fge-cart-trust-item__icon {
	width: 22px !important;
	height: 22px !important;
	flex-basis: 22px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}
body.woocommerce-cart .fge-cart-trust-item__icon img {
	display: block !important;
	width: 22px !important;
	height: 22px !important;
	object-fit: contain !important;
}

/* The shortcode sits in a full-width Elementor section. Restrict it to the
   same visual width as the cart's left column. */
@media (min-width: 1025px) {
	body.woocommerce-cart .fge-cart-cross-sells {
		width: calc((100% - 28px) * 0.634) !important;
		max-width: calc((100% - 28px) * 0.634) !important;
	}
}

body.woocommerce-cart .fge-cart-cross-sells {
	margin-top: 32px !important;
}

body.woocommerce-cart .fge-cart-cross-sells__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
}

body.woocommerce-cart .fge-cart-cross-sell {
	grid-template-columns: 104px minmax(0, 1fr) !important;
	min-height: 142px !important;
	padding: 14px !important;
	gap: 14px !important;
}

body.woocommerce-cart .fge-cart-cross-sell__image {
	width: 104px !important;
	height: 112px !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body.woocommerce-cart .fge-cart-cross-sell__image img {
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
}

body.woocommerce-cart .fge-cart-cross-sell__content {
	padding: 3px 0 !important;
}

body.woocommerce-cart .fge-cart-cross-sell__title {
	font-size: 16px !important;
	line-height: 1.25 !important;
}

body.woocommerce-cart .fge-cart-cross-sell__bottom {
	padding-top: 12px !important;
}

@media (max-width: 1180px) and (min-width: 1025px) {
	body.woocommerce-cart .fge-cart-cross-sells {
		width: calc((100% - 28px) * 0.60) !important;
		max-width: calc((100% - 28px) * 0.60) !important;
	}
}

/* =========================================================
   v1.9.2 Cart line-total and remove-button alignment.
   ========================================================= */
body.woocommerce-cart .woocommerce-cart-form .product-subtotal > *:not(.fge-cart-line-total) {
	display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total {
	display: inline-flex !important;
	align-items: baseline !important;
	justify-content: flex-end !important;
	gap: 5px !important;
	color: #10213e !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total__price,
body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total__interval {
	display: inline !important;
	color: inherit !important;
	font: inherit !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove {
	align-self: start !important;
	justify-self: end !important;
	margin: -2px -2px 0 0 !important;
	padding: 0 !important;
	width: 32px !important;
	height: 32px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
	position: relative !important;
	display: block !important;
	margin: 0 !important;
	inset: auto !important;
	transform: none !important;
}


/* =========================================================
   v1.9.4 Cart summary, selected-plan price, and remove control.
   ========================================================= */
body.woocommerce-cart .e-cart__column-end .fge-cart-hidden-shipping-row {
	display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	position: relative !important;
	grid-template-columns: 112px minmax(0, 1fr) 190px !important;
	grid-template-areas:
		"image name name"
		"image name name"
		"image qty subtotal" !important;
	padding-right: 64px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-price {
	display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
	grid-area: subtotal !important;
	align-self: end !important;
	justify-self: end !important;
	min-width: 190px !important;
	text-align: right !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	justify-content: flex-end !important;
	gap: 2px !important;
	font-family: "Nunito Sans", sans-serif !important;
	white-space: nowrap !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total__price {
	display: block !important;
	color: #10213e !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total__interval {
	display: block !important;
	color: #10213e !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove {
	position: absolute !important;
	top: 18px !important;
	right: 18px !important;
	left: auto !important;
	bottom: auto !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 10 !important;
	transform: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
	position: absolute !important;
	inset: 0 !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	transform: none !important;
}

/* =========================================================
   v1.9.5 Savings language and cart-card cleanup.
   ========================================================= */
body.woocommerce-cart .fge-cart-savings-data[hidden] {
	display: none !important;
}

/* One intentional price block only. */
body.woocommerce-cart .woocommerce-cart-form .product-price {
	display: none !important;
}
body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
	grid-area: subtotal !important;
	align-self: end !important;
	justify-self: end !important;
	min-width: 205px !important;
	padding: 0 2px 2px 0 !important;
	text-align: right !important;
}
body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 3px !important;
}
body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total__price {
	font-size: 23px !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
}
body.woocommerce-cart .woocommerce-cart-form .product-subtotal .fge-cart-line-total__interval {
	font-size: 13px !important;
	font-weight: 800 !important;
}
body.woocommerce-cart .woocommerce-cart-form .fge-cart-line-total__regular {
	color: #777b82 !important;
	font: 700 12px/1.2 "Nunito Sans", sans-serif !important;
	text-decoration: line-through !important;
}
body.woocommerce-cart .woocommerce-cart-form .fge-cart-line-total__save {
	color: #3196d1 !important;
	font: 800 12px/1.25 "Nunito Sans", sans-serif !important;
}

/* Force the real remove control into the same top-right position on every row. */
body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .product-remove,
body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .fge-cart-product-remove {
	position: absolute !important;
	top: 18px !important;
	right: 18px !important;
	left: auto !important;
	bottom: auto !important;
	display: block !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 30 !important;
}
body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .product-remove a.remove,
body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .fge-cart-product-remove a.remove {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
}

/* Savings row and message modeled after the approved mockup. */
body.woocommerce-cart .e-cart__column-end .fge-cart-summary-savings th,
body.woocommerce-cart .e-cart__column-end .fge-cart-summary-savings td {
	color: #568b5c !important;
	font-weight: 800 !important;
}
body.woocommerce-cart .e-cart__column-end .fge-cart-summary-savings td {
	text-align: right !important;
}
body.woocommerce-cart .e-cart__column-end .fge-cart-savings-banner {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 14px 0 12px !important;
	padding: 13px 16px !important;
	border: 1px solid #cce8f5 !important;
	border-radius: 8px !important;
	background: #eaf6fb !important;
	color: #3196d1 !important;
	font: 800 14px/1.3 "Nunito Sans", sans-serif !important;
	text-align: center !important;
}
body.woocommerce-cart .e-cart__column-end .fge-cart-savings-banner strong {
	font-weight: 900 !important;
}

/* Keep the selected option panel and lower controls visually balanced. */
body.woocommerce-cart .fge-cart-subscription-upsell--generated {
	max-width: 620px !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	padding-bottom: 22px !important;
}

/* =========================================================
   v1.9.6 Stable card controls, original product name, and savings emphasis.
   ========================================================= */
body.woocommerce-cart .fge-cart-item-meta__collection {
	display: none !important;
}

body.woocommerce-cart .fge-cart-item-meta__original-title {
	display: block !important;
	margin-top: 2px !important;
	color: #10213e !important;
	font-family: "DM Serif Display", Georgia, serif !important;
	font-size: 19px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
}

/* The stable price and remove controls are direct children of each card, so
   Elementor/WooCommerce table-cell positioning can no longer move them. */
body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .product-price,
body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .product-subtotal,
body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .product-remove,
body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .fge-cart-product-remove {
	display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .fge-cart-final-price {
	position: absolute !important;
	right: 64px !important;
	bottom: 26px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 3px !important;
	min-width: 150px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #10213e !important;
	font-family: "Nunito Sans", sans-serif !important;
	text-align: right !important;
	white-space: nowrap !important;
	z-index: 20 !important;
}

body.woocommerce-cart .fge-cart-final-price__price {
	font-size: 23px !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
}

body.woocommerce-cart .fge-cart-final-price__interval {
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

body.woocommerce-cart .fge-cart-final-price__regular {
	color: #777b82 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: line-through !important;
}

body.woocommerce-cart .fge-cart-final-price__save {
	color: #3196d1 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .fge-cart-remove-control {
	position: absolute !important;
	top: 18px !important;
	right: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 50 !important;
}

body.woocommerce-cart .fge-cart-remove-control a.remove {
	position: static !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

body.woocommerce-cart .e-cart__column-end .fge-cart-savings-banner {
	margin: 18px 0 15px !important;
	padding: 18px 20px !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	border-radius: 10px !important;
}

@media (max-width: 1024px) {
	body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .fge-cart-final-price {
		right: 24px !important;
		bottom: 20px !important;
	}
}


/* =========================================================
   v1.9.7 Final cart typography and product-image scale.
   ========================================================= */

/* Increase the cart product image area by 20%. */
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
	grid-template-columns: 134px minmax(0, 1fr) 126px 108px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a {
	width: 134px !important;
	height: 154px !important;
	padding: 8px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

/* Make the marketing name secondary and the original SEO/product name primary. */
body.woocommerce-cart .woocommerce-cart-form .product-name > a {
	font-size: 12px !important;
	line-height: 1.15 !important;
}

body.woocommerce-cart .fge-cart-item-meta__original-title {
	font-size: 29px !important;
	line-height: 1.12 !important;
}

/* Keep the larger savings message but remove bold weight. */
body.woocommerce-cart .e-cart__column-end .fge-cart-savings-banner,
body.woocommerce-cart .e-cart__column-end .fge-cart-savings-banner strong {
	font-weight: 400 !important;
}

@media (max-width: 1024px) {
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 134px minmax(0, 1fr) !important;
	}
}

/* =========================================================
   v2.0.2 Native WooCommerce three-step checkout.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received) { background:#f7f5f1; }
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title { display:none!important; }
/* The Elementor parent container controls the page width (currently 84%).
   Fill that container exactly so checkout aligns with the native coupon row. */
body.woocommerce-checkout:not(.woocommerce-order-received) .elementor-widget-shortcode,
body.woocommerce-checkout:not(.woocommerce-order-received) .elementor-widget-shortcode .elementor-widget-container,
body.woocommerce-checkout:not(.woocommerce-order-received) .elementor-widget-shortcode .elementor-shortcode,
body.woocommerce-checkout:not(.woocommerce-order-received) .elementor-widget-shortcode .woocommerce {
	width:100% !important;
	max-width:none !important;
}
.fge-checkout {
	box-sizing:border-box;
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:36px 0 80px;
	transform:none !important;
	color:#171717;
	font-family:"Nunito Sans",sans-serif;
}
.fge-checkout__top h1 { margin:24px 0 24px; color:#10213e; font:400 48px/1.05 "DM Serif Display",Georgia,serif; }
.fge-checkout__back-cart { color:#5e5a55; font-size:14px; text-decoration:none; }
.fge-checkout-steps { display:flex; align-items:center; gap:14px; margin:0 0 42px; }
.fge-checkout-steps>i { width:34px; height:2px; background:#d9d5ce; }
.fge-checkout-stepper { display:flex; align-items:center; gap:10px; color:#66615b; }
.fge-checkout-stepper span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#f0ede7; color:#625d57; font-weight:800; }
.fge-checkout-stepper b { font-size:15px; font-weight:600; }
.fge-checkout-stepper.is-active span { background:#10213e; color:#fff; }
.fge-checkout-stepper.is-active b { color:#171717; font-weight:800; }
.fge-checkout-stepper.is-complete span { background:#5f966c; color:#fff; font-size:0; }
.fge-checkout-stepper.is-complete span:before { content:"✓"; font-size:17px; }
.fge-checkout-stepper.is-complete + i { background:#5f966c; }
.fge-checkout__grid { display:grid; grid-template-columns:minmax(0,1.72fr) minmax(420px,1fr); gap:36px; align-items:start; width:100%; }
.fge-checkout-form { width:100%; margin:0!important; }
.fge-checkout-card,.fge-review-card,.fge-checkout-summary-card { box-sizing:border-box; background:#fff; border:1px solid #e7e3dc; border-radius:10px; padding:26px; box-shadow:none; }
.fge-checkout-card h2,.fge-review-card h2,.fge-checkout-summary-card h2 { margin:0 0 24px; color:#10213e; font:400 24px/1.2 "DM Serif Display",Georgia,serif; }
.fge-checkout-card__heading { display:flex; justify-content:space-between; align-items:center; }
.fge-checkout-card__heading span { font-size:12px; color:#68635d; }
.fge-checkout .woocommerce-billing-fields>h3,.fge-checkout .woocommerce-shipping-fields>h3 { display:none; }
.fge-checkout #customer_details { display:block!important; width:100%!important; margin:0!important; }
.fge-checkout #customer_details .col-1,.fge-checkout #customer_details .col-2 { float:none!important; width:100%!important; }
.fge-checkout .form-row { margin:0 0 16px!important; padding:0!important; }
.fge-checkout .form-row label { display:block; margin:0 0 7px; color:#171717; font-size:13px; font-weight:700; }
.fge-checkout .input-text,.fge-checkout select,.fge-checkout .select2-selection { min-height:48px!important; border:1px solid #ddd8d0!important; border-radius:7px!important; background:#fff!important; padding:11px 14px!important; box-shadow:none!important; font-size:14px!important; }
.fge-checkout .select2-selection__rendered { line-height:24px!important; padding:0!important; }
.fge-checkout-primary,.fge-checkout-secondary { min-height:48px; border-radius:7px!important; padding:12px 22px!important; font:800 15px/1 "Nunito Sans",sans-serif!important; cursor:pointer; }
.fge-checkout-primary { width:100%; border:0!important; background:#10213e!important; color:#fff!important; }
.fge-checkout-secondary { min-width:90px; border:1px solid #ddd8d0!important; background:#fff!important; color:#171717!important; }
.fge-checkout-actions { display:flex; gap:12px; margin-top:24px; }
.fge-checkout-actions>.fge-checkout-primary { flex:1; }
.fge-checkout-secure { margin-top:18px; padding:14px 16px; border-radius:7px; background:#eef5ef; color:#568b5c; font-size:13px; }
.fge-checkout-summary-card { position:sticky; top:28px; }
.fge-checkout-summary-card #order_review { width:100%!important; float:none!important; background:transparent!important; padding:0!important; border:0!important; }
.fge-checkout-summary-card .woocommerce-checkout-review-order-table { width:100%; border:0!important; border-collapse:collapse; }
.fge-checkout-summary-card .woocommerce-checkout-review-order-table th,.fge-checkout-summary-card .woocommerce-checkout-review-order-table td { padding:12px 0!important; border-color:#eeeae4!important; font-size:14px; }
.fge-checkout-summary-card .woocommerce-checkout-review-order-table thead { display:none; }
.fge-checkout-summary-card .cart_item .product-name { font-weight:700; color:#171717; }
.fge-checkout-summary-card .cart_item .product-total { text-align:right; font-weight:800; color:#10213e; }
.fge-checkout-summary-card .order-total th,.fge-checkout-summary-card .order-total td { padding-top:18px!important; color:#10213e!important; font-size:18px!important; font-weight:900!important; }
.fge-checkout-summary-card .fge-payment-shell { min-height:0!important; margin:0!important; padding:0!important; background:transparent!important; }
.fge-checkout-summary-card .fge-payment-shell:empty { display:none!important; }
.fge-checkout-trust { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; margin-top:18px; padding-top:18px; border-top:1px solid #eeeae4; color:#5f966c; font-size:12px; }
.fge-checkout-ssl { margin:22px 0 0; text-align:center; color:#6f6a64; font-size:11px; }
.fge-review-card { margin-bottom:18px; }
.fge-review-card>div:first-child { display:flex; justify-content:space-between; align-items:start; }
.fge-review-card button[data-fge-back] { border:0; background:none; color:#10213e; font-weight:700; cursor:pointer; }
.fge-review-card p { margin:0; color:#5e5a55; line-height:1.55; }
.fge-review-item { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-top:1px solid #eeeae4; }
.fge-review-item:first-child { border-top:0; }
.fge-review-item .product-quantity { display:block; color:#6f6a64; font-size:12px; }
.fge-review-item strong { white-space:nowrap; color:#10213e; }
.fge-checkout-step--review .place-order { width:100%; padding:0!important; margin:0!important; background:transparent!important; }
.fge-checkout-step--review #place_order { width:100%!important; min-height:48px!important; border-radius:7px!important; background:#3196d1!important; font-weight:900!important; }
.fge-checkout-guarantee { margin:14px 0 0; text-align:center; color:#6f6a64; font-size:12px; }
.fge-checkout-step--payment .wc_payment_methods { margin:0!important; padding:0!important; border:0!important; list-style:none; }
.fge-checkout-step--payment .wc_payment_method { padding:16px 0!important; border-bottom:1px solid #eeeae4; }
.fge-checkout-step--payment .payment_box { margin:14px 0 0!important; background:#f8f7f4!important; border-radius:8px!important; }
.fge-checkout-step--payment .payment_box:before { display:none!important; }
.fge-checkout [hidden] { display:none!important; }
@media (max-width:1024px){ .fge-checkout{width:100% !important} .fge-checkout__grid{grid-template-columns:1fr}.fge-checkout-summary-card{position:static}.fge-checkout__aside{order:-1}.fge-checkout-summary-card{margin-bottom:20px} }
@media (max-width:767px){ .fge-checkout{width:100% !important;padding:24px 0 56px}.fge-checkout__top h1{font-size:38px}.fge-checkout-steps{gap:8px}.fge-checkout-stepper b{display:none}.fge-checkout-steps>i{flex:1}.fge-checkout-card,.fge-review-card,.fge-checkout-summary-card{padding:20px}.fge-checkout-actions{flex-wrap:wrap}.fge-checkout-secondary{width:100%} }


/* =========================================================
   v2.0.3 Checkout order-summary visual pass.
   Keeps all WooCommerce totals, shipping choices and recurring
   calculations native while presenting them in the Manus hierarchy.
   ========================================================= */
.fge-checkout-summary-card {
	padding: 28px 30px;
}
.fge-checkout-summary-card h2 {
	margin-bottom: 18px;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table,
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tbody,
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot {
	display: table;
	width: 100%;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item {
	background: transparent !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item td {
	padding: 14px 0 !important;
	vertical-align: middle;
	border-bottom: 1px solid #eeeae4 !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item:first-child td {
	padding-top: 0 !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .product-name {
	width: 74%;
	font-weight: 400;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .product-total {
	width: 26%;
	white-space: nowrap;
	font-size: 14px;
}
.fge-checkout-product {
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	gap: 13px;
	align-items: center;
	min-width: 0;
}
.fge-checkout-product__media {
	width: 62px;
	height: 62px;
	border-radius: 9px;
	overflow: hidden;
	background: #f4f1ec;
}
.fge-checkout-product__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
}
.fge-checkout-product__content {
	min-width: 0;
}
.fge-checkout-product__title {
	color: #151515;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
}
.fge-checkout-product__qty {
	font-weight: 700;
}
.fge-checkout-product__original {
	margin-top: 3px;
	color: #6a655f;
	font-size: 11px;
	line-height: 1.3;
}
.fge-checkout-product__badge {
	margin-top: 4px;
	color: #6a655f;
	font-size: 11px;
	line-height: 1.2;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot th,
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot td {
	padding: 11px 0 !important;
	vertical-align: top;
	background: transparent !important;
	font-size: 13px;
	line-height: 1.35;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot th {
	width: 42%;
	color: #655f59;
	font-weight: 600;
	text-align: left;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot td {
	width: 58%;
	color: #171717;
	font-weight: 700;
	text-align: right;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) th,
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) td {
	border-bottom: 0 !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .cart-subtotal th,
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .cart-subtotal td {
	padding-top: 18px !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .order-total th,
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .order-total td {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
	border-top: 1px solid #eeeae4 !important;
	border-bottom: 1px solid #eeeae4 !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .order-total th {
	color: #171717 !important;
	font-size: 17px !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .order-total td,
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .order-total .amount {
	color: #10213e !important;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 23px !important;
	font-weight: 400 !important;
}
.fge-checkout-summary-card ul#shipping_method {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	text-align: left;
}
.fge-checkout-summary-card ul#shipping_method li {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	gap: 7px;
	align-items: start;
	margin: 0 0 8px !important;
	padding: 0 !important;
	line-height: 1.3;
}
.fge-checkout-summary-card ul#shipping_method li:last-child {
	margin-bottom: 0 !important;
}
.fge-checkout-summary-card ul#shipping_method input {
	margin: 2px 0 0 !important;
}
.fge-checkout-summary-card ul#shipping_method label {
	margin: 0 !important;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
}
.fge-checkout-summary-card tr.recurring-totals th,
.fge-checkout-summary-card tr.recurring-totals td {
	padding-top: 16px !important;
	border-top: 1px solid #eeeae4 !important;
	color: #10213e;
	font-weight: 800;
}
.fge-checkout-summary-card tr.recurring-total th,
.fge-checkout-summary-card tr.recurring-total td {
	font-size: 12px;
}
.fge-checkout-trust {
	margin-top: 20px;
}
@media (max-width: 1240px) {
	.fge-checkout__grid { grid-template-columns: minmax(0, 1.5fr) minmax(370px, 1fr); gap: 26px; }
	.fge-checkout-summary-card { padding: 24px; }
	.fge-checkout-product { grid-template-columns: 54px minmax(0, 1fr); gap: 10px; }
	.fge-checkout-product__media { width: 54px; height: 54px; }
}


/* =========================================================
   v2.0.4 Checkout shipping form + compact summary refinement.
   Reorders native fields without changing WooCommerce field names,
   validation, AJAX updates, payment handling or subscription totals.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle {
	margin-bottom: 34px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .woocommerce-info {
	margin-bottom: 0 !important;
}
.fge-checkout {
	padding-top: 8px;
}
.fge-checkout__top h1 {
	margin-top: 20px;
	margin-bottom: 22px;
}
.fge-checkout-steps {
	margin-bottom: 34px;
}
.fge-checkout-card {
	padding: 26px 30px 28px;
}
.fge-checkout-card__heading {
	margin-bottom: 20px;
}
.fge-checkout-card__heading h2 {
	margin-bottom: 0;
}
.fge-checkout .woocommerce-billing-fields__field-wrapper.fge-checkout-fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(110px, .55fr);
	gap: 15px 14px;
}
.fge-checkout .fge-checkout-fields .form-row {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.fge-checkout .fge-field--email,
.fge-checkout .fge-field--address1,
.fge-checkout .fge-field--address2,
.fge-checkout .fge-field--phone {
	grid-column: 1 / -1;
}
.fge-checkout .fge-field--first { grid-column: 1 / 2; }
.fge-checkout .fge-field--last { grid-column: 2 / -1; }
.fge-checkout .fge-field--city { grid-column: 1 / 2; }
.fge-checkout .fge-field--state { grid-column: 2 / 3; }
.fge-checkout .fge-field--postcode { grid-column: 3 / 4; }
.fge-checkout .fge-field--company,
.fge-checkout .fge-field--country {
	display: none !important;
}
.fge-checkout .fge-field--email { order: 1; }
.fge-checkout .fge-field--first { order: 2; }
.fge-checkout .fge-field--last { order: 3; }
.fge-checkout .fge-field--company { order: 4; }
.fge-checkout .fge-field--country { order: 5; }
.fge-checkout .fge-field--address1 { order: 6; }
.fge-checkout .fge-field--address2 { order: 7; }
.fge-checkout .fge-field--city { order: 8; }
.fge-checkout .fge-field--state { order: 9; }
.fge-checkout .fge-field--postcode { order: 10; }
.fge-checkout .fge-field--phone { order: 11; }
.fge-checkout .form-row label {
	margin-bottom: 6px;
}
.fge-checkout .input-text,
.fge-checkout select,
.fge-checkout .select2-selection {
	min-height: 46px !important;
}
.fge-checkout-step--shipping .fge-checkout-primary {
	margin-top: 22px;
}
.fge-checkout-summary-card {
	top: 22px;
}
.fge-checkout-product__media {
	position: relative;
	overflow: visible;
}
.fge-checkout-product__media img {
	border-radius: 9px;
}
.fge-checkout-product__quantity-badge {
	position: absolute;
	top: -7px;
	right: -7px;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #10213e;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 0 0 2px #fff;
}
.fge-checkout-product__qty {
	display: none !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item td {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot th,
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot td {
	padding-top: 9px !important;
	padding-bottom: 9px !important;
}
.fge-checkout-summary-card tr.recurring-totals th,
.fge-checkout-summary-card tr.recurring-totals td {
	padding-top: 13px !important;
}
.fge-checkout-summary-card tr.recurring-total th,
.fge-checkout-summary-card tr.recurring-total td {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}
.fge-checkout-summary-card ul#shipping_method li {
	margin-bottom: 6px !important;
}
@media (max-width: 767px) {
	.fge-checkout .woocommerce-billing-fields__field-wrapper.fge-checkout-fields {
		grid-template-columns: 1fr;
	}
	.fge-checkout .fge-field--email,
	.fge-checkout .fge-field--first,
	.fge-checkout .fge-field--last,
	.fge-checkout .fge-field--address1,
	.fge-checkout .fge-field--address2,
	.fge-checkout .fge-field--city,
	.fge-checkout .fge-field--state,
	.fge-checkout .fge-field--postcode,
	.fge-checkout .fge-field--phone {
		grid-column: 1 !important;
	}
}


/* v2.0.5 — single-address checkout. WooCommerce's secondary shipping
   field group remains in the form for compatibility but is not presented. */
.fge-checkout #customer_details > .col-2,
.fge-checkout .fge-checkout-hidden-address-column,
.fge-checkout .woocommerce-shipping-fields,
.fge-checkout .woocommerce-additional-fields {
	display: none !important;
}


/* =========================================================
   v2.0.6 Checkout heading, clean product rows, and branded
   trust artwork matching the cart summary.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout__top h1 {
	color: #10213e !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-summary-card .woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item,
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item td,
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-summary-card .woocommerce-checkout-review-order-table .product-name,
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-summary-card .woocommerce-checkout-review-order-table .product-total {
	background: #fff !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item td {
	border-left: 0 !important;
	border-right: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-summary-card .woocommerce-checkout-review-order-table .product-total {
	border-left: 0 !important;
}
.fge-checkout-trust {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 22px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #eeeae4;
	color: #4f4a45;
	font-size: 12px;
}
.fge-checkout-trust__item {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
}
.fge-checkout-trust__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
}
.fge-checkout-trust__icon img {
	display: block;
	width: 22px;
	height: 22px;
	object-fit: contain;
}
@media (max-width: 480px) {
	.fge-checkout-trust { grid-template-columns: 1fr; }
}

/* =========================================================
   v2.0.7 Checkout summary totals cleanup.
   Removes the native table grid from subtotal, shipping,
   recurring totals, and renewal rows while preserving layout.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot tr,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot td {
	border: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.recurring-totals th,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.recurring-totals td,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.recurring-total th,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.recurring-total td {
	border: 0 !important;
}

/* =========================================================
   v2.0.8 Checkout product separators + payment refresh fix.
   Product rows remain visually grouped by spacing, without
   horizontal rules. Payment duplication is handled in JS.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item td {
	border-top: 0 !important;
	border-bottom: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .woocommerce-checkout-review-order-table tr.cart_item + tr.cart_item td {
	padding-top: 20px !important;
}

/* =========================================================
   v2.0.9 Square payment compact field + horizontal card icons.
   Keeps Square's hosted card field and gateway scripts intact.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .wc_payment_method > label img,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .payment_method_square img {
	display: inline-block !important;
	width: auto !important;
	max-width: none !important;
	height: 24px !important;
	margin: 0 4px 0 0 !important;
	vertical-align: middle !important;
	object-fit: contain !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .wc_payment_method > label {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 4px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .payment_box {
	padding: 14px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment #wc-square-credit-card-credit-card-form,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .wc-square-credit-card-form {
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .wc-square-credit-card-hosted-field,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .sq-card-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .sq-card-iframe-container {
	min-height: 52px !important;
	height: 52px !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .wc-square-credit-card-hosted-field iframe,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .sq-card-wrapper iframe,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--payment .sq-card-iframe-container iframe {
	min-height: 52px !important;
	height: 52px !important;
}

/* =========================================================
   v2.0.10 Review-step Place Order action polish.
   Keeps WooCommerce privacy/terms controls intact while giving
   the Back and Place Order buttons the approved full-width row.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review {
	display: grid !important;
	grid-template-columns: 92px minmax(0, 1fr) !important;
	grid-template-rows: auto auto auto !important;
	gap: 12px !important;
	align-items: stretch !important;
	margin-top: 18px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review > [data-fge-place-order-slot],
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review .place-order {
	display: contents !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review .woocommerce-privacy-policy-text,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review .form-row.validate-required,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review .woocommerce-terms-and-conditions-wrapper {
	grid-column: 1 / -1 !important;
	margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review .woocommerce-privacy-policy-text {
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #5e5a55 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review .woocommerce-terms-and-conditions-wrapper {
	display: grid !important;
	gap: 8px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review > .fge-checkout-secondary {
	grid-column: 1 !important;
	grid-row: 3 !important;
	width: 92px !important;
	min-width: 92px !important;
	min-height: 52px !important;
	margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review #place_order {
	grid-column: 2 !important;
	grid-row: 3 !important;
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: #3196d1 !important;
	color: #fff !important;
	font: 900 17px/1 "Nunito Sans", sans-serif !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review #place_order:hover,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-actions--review #place_order:focus {
	background: #2789c3 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-place-order-lock {
	font-size: 16px !important;
	line-height: 1 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-step--review .fge-checkout-guarantee {
	margin: 14px 0 0 !important;
	text-align: center !important;
}

@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-actions--review {
		grid-template-columns: 1fr !important;
	}
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-actions--review > .fge-checkout-secondary,
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-actions--review #place_order {
		grid-column: 1 !important;
		width: 100% !important;
	}
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-actions--review > .fge-checkout-secondary { grid-row: 3 !important; }
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-actions--review #place_order { grid-row: 4 !important; }
}

/* =========================================================
   v2.0.11 Optional alternate billing address.
   ========================================================= */
.fge-billing-different {
	margin-top: 18px;
	grid-column: 1 / -1;
}
.fge-billing-different__toggle {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-weight: 600;
	cursor: pointer;
	margin: 0;
}
.fge-billing-different__toggle input {
	width: 16px;
	height: 16px;
	margin: 0;
}
.fge-billing-different__panel {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #e7e2da;
}
.fge-billing-different__panel[hidden] {
	display: none !important;
}
.fge-billing-different__panel h3 {
	margin: 0 0 15px;
	font-size: 20px;
	color: #10213e;
}
.fge-billing-different__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(110px, .55fr);
	gap: 15px 14px;
}
.fge-billing-different__grid .form-row {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.fge-billing-different__grid .form-row:nth-child(1) { grid-column: 1 / 2; }
.fge-billing-different__grid .form-row:nth-child(2) { grid-column: 2 / -1; }
.fge-billing-different__address,
.fge-billing-different__country {
	grid-column: 1 / -1;
}
.fge-billing-different__grid input,
.fge-billing-different__grid select {
	width: 100%;
	min-height: 46px;
}
@media (max-width: 767px) {
	.fge-billing-different__grid {
		grid-template-columns: 1fr;
	}
	.fge-billing-different__grid .form-row,
	.fge-billing-different__address,
	.fge-billing-different__country {
		grid-column: 1 / -1 !important;
	}
}

/* =========================================================
   v2.0.12 Alternate billing-field visual alignment.
   Match the native Shipping Information inputs/selects exactly.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout .fge-billing-different__panel .form-row label {
	display: block !important;
	margin: 0 0 6px !important;
	color: #171717 !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout .fge-billing-different__panel input[type="text"],
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout .fge-billing-different__panel select {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	height: 46px !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 11px 14px !important;
	border: 1px solid #ddd8d0 !important;
	border-radius: 7px !important;
	outline: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #171717 !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 22px !important;
	appearance: auto !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout .fge-billing-different__panel input[type="text"]::placeholder {
	color: #8a8680 !important;
	opacity: 1 !important;
	font-size: 14px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout .fge-billing-different__panel input[type="text"]:focus,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout .fge-billing-different__panel select:focus {
	border-color: #bdb7ae !important;
	box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout .fge-billing-different__panel h3 {
	margin: 0 0 18px !important;
	color: #10213e !important;
	font: 400 20px/1.2 "DM Serif Display", Georgia, serif !important;
}

/* =========================================================
   v2.1.0 Native WooCommerce order-received confirmation.
   ========================================================= */
body.woocommerce-order-received.fge-has-order-confirmation .woocommerce-order > :not(.fge-confirmation):not(.fge-site-review-box) {
	display: none !important;
}
body.woocommerce-order-received.fge-has-order-confirmation .woocommerce-order {
	max-width: none !important;
	margin: 0 !important;
}
body.woocommerce-order-received.fge-has-order-confirmation .site-main,
body.woocommerce-order-received.fge-has-order-confirmation .entry-content,
body.woocommerce-order-received.fge-has-order-confirmation .elementor-widget-shortcode,
body.woocommerce-order-received.fge-has-order-confirmation .elementor-shortcode {
	width: 100% !important;
	max-width: none !important;
}
.fge-confirmation {
	width: min(100%, 760px);
	margin: 42px auto 70px;
	color: #171717;
	font-family: "Nunito Sans", sans-serif;
}
.fge-confirmation__hero {
	text-align: center;
	margin-bottom: 30px;
}
.fge-confirmation__success {
	width: 72px;
	height: 72px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: #e6efe6;
	display: grid;
	place-items: center;
}
.fge-confirmation__success svg {
	width: 48px;
	height: 48px;
	fill: none;
	stroke: #5f976d;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.fge-confirmation__hero h1,
.fge-confirmation-card h2 {
	font-family: "DM Serif Display", Georgia, serif;
	font-weight: 400;
	color: #10213e;
}
.fge-confirmation__hero h1 {
	margin: 0 0 8px;
	font-size: clamp(34px, 4vw, 46px);
	line-height: 1.08;
}
.fge-confirmation__hero p {
	max-width: 560px;
	margin: 0 auto;
	color: #6f6a64;
	font-size: 16px;
	line-height: 1.55;
}
.fge-confirmation-card,
.fge-confirmation-trust {
	background: #fff;
	border: 1px solid #ebe6df;
	border-radius: 10px;
	box-shadow: none;
}
.fge-confirmation-card {
	padding: 28px 32px;
	margin-bottom: 20px;
}
.fge-confirmation-card h2 {
	font-size: 24px;
	line-height: 1.2;
	margin: 0 0 22px;
}
.fge-confirmation-overview__meta {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 22px;
	border-bottom: 1px solid #ebe6df;
}
.fge-confirmation-overview__meta > div:last-child {
	text-align: right;
}
.fge-confirmation-overview__meta span {
	display: block;
	font-size: 12px;
	color: #77716a;
	margin-bottom: 4px;
}
.fge-confirmation-overview__meta strong {
	font-size: 17px;
	color: #10213e;
}
.fge-confirmation-statuses {
	display: grid;
	gap: 18px;
	padding: 24px 0 20px;
}
.fge-confirmation-status {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
}
.fge-confirmation-status > span,
.fge-confirmation-next__grid a > span {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #f2f0ec;
	display: grid;
	place-items: center;
	color: #7a756f;
}
.fge-confirmation-status.is-complete > span,
.fge-confirmation-status.is-active > span {
	background: #e6efe6;
	color: #5f976d;
}
.fge-confirmation-status.is-pending > span {
	background: #fff4dd;
	color: #a47722;
}
.fge-confirmation-status svg,
.fge-confirmation-next__grid svg,
.fge-confirmation-email svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.fge-confirmation-status strong {
	display: block;
	font-size: 15px;
	margin-bottom: 3px;
}
.fge-confirmation-status p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #6f6a64;
}
.fge-confirmation-email {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px 16px;
	background: #f7f5f1;
	border-radius: 7px;
	font-size: 13px;
	color: #4f4a45;
}
.fge-confirmation-email svg {
	flex: 0 0 auto;
	color: #10213e;
}
.fge-confirmation-items__list {
	display: grid;
	gap: 18px;
}
.fge-confirmation-item {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
}
.fge-confirmation-item + .fge-confirmation-item {
	padding-top: 18px;
	border-top: 1px solid #eee9e2;
}
.fge-confirmation-item__image {
	position: relative;
	width: 70px;
	height: 70px;
	border-radius: 8px;
	background: #f7f5f1;
	display: grid;
	place-items: center;
	overflow: visible;
}
.fge-confirmation-item__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 8px;
}
.fge-confirmation-item__image span {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #10213e;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	display: grid;
	place-items: center;
}
.fge-confirmation-item__content strong {
	display: block;
	font-size: 15px;
	margin-bottom: 3px;
}
.fge-confirmation-item__content p,
.fge-confirmation-item__content small {
	display: block;
	margin: 0;
	color: #6f6a64;
	font-size: 12px;
	line-height: 1.45;
}
.fge-confirmation-item__price {
	font-weight: 800;
	color: #10213e;
	white-space: nowrap;
}
.fge-confirmation-next__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.fge-confirmation-next__grid a {
	text-decoration: none !important;
	color: #171717 !important;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
}
.fge-confirmation-next__grid a > span {
	color: #5f976d;
}
.fge-confirmation-next__grid a > span.is-blue {
	background: #e5f2fa;
	color: #3196d1;
}
.fge-confirmation-next__grid strong {
	font-size: 13px;
}
.fge-confirmation-next__grid small {
	font-size: 11px;
	line-height: 1.45;
	color: #77716a;
}
.fge-confirmation-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	padding: 18px 22px;
	margin-bottom: 22px;
}
.fge-confirmation-trust > div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 11px;
	color: #5f5a54;
}
.fge-confirmation-trust img {
	width: 18px;
	height: 18px;
	object-fit: contain;
}
.fge-confirmation__continue {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-width: 210px;
	min-height: 48px;
	margin: 0 auto;
	padding: 0 28px;
	border-radius: 7px;
	background: #10213e;
	color: #fff !important;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none !important;
}
.fge-confirmation__continue:hover,
.fge-confirmation__continue:focus {
	background: #18345f;
}
@media (max-width: 767px) {
	.fge-confirmation {
		width: 100%;
		margin: 28px auto 50px;
		padding: 0 16px;
	}
	.fge-confirmation-card {
		padding: 22px 18px;
	}
	.fge-confirmation-overview__meta {
		flex-direction: column;
	}
	.fge-confirmation-overview__meta > div:last-child {
		text-align: left;
	}
	.fge-confirmation-item {
		grid-template-columns: 58px minmax(0, 1fr);
	}
	.fge-confirmation-item__image {
		width: 58px;
		height: 58px;
	}
	.fge-confirmation-item__price {
		grid-column: 2;
	}
	.fge-confirmation-next__grid,
	.fge-confirmation-trust {
		grid-template-columns: 1fr 1fr;
	}
}


/* Confirmation page visual polish — v2.1.1 */
body.woocommerce-order-received.fge-has-order-confirmation {
	background: #f8f6f2;
}

.fge-confirmation {
	width: min(100%, 900px);
	margin-top: 54px;
	margin-bottom: 82px;
}

.fge-confirmation__hero {
	margin-bottom: 36px;
}

.fge-confirmation__success {
	width: 82px;
	height: 82px;
	margin-bottom: 20px;
}

.fge-confirmation__success svg {
	width: 54px;
	height: 54px;
}

.fge-confirmation__hero h1 {
	color: #10213e !important;
	font-size: clamp(40px, 4vw, 54px);
	line-height: 1.06;
	margin-bottom: 12px;
}

.fge-confirmation__hero p {
	max-width: 620px;
	font-size: 18px;
	line-height: 1.55;
}

.fge-confirmation-card {
	padding: 34px 38px;
	margin-bottom: 24px;
	border-radius: 12px;
}

.fge-confirmation-card h2 {
	font-size: 28px;
	margin-bottom: 25px;
}

.fge-confirmation-overview__meta {
	padding-bottom: 26px;
}

.fge-confirmation-overview__meta span {
	font-size: 13px;
}

.fge-confirmation-overview__meta strong {
	font-size: 20px;
	line-height: 1.2;
}

.fge-confirmation-statuses {
	gap: 22px;
	padding: 28px 0 24px;
}

.fge-confirmation-status {
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 16px;
}

.fge-confirmation-status > span,
.fge-confirmation-next__grid a > span {
	width: 48px;
	height: 48px;
}

.fge-confirmation-status svg,
.fge-confirmation-next__grid svg {
	width: 24px;
	height: 24px;
}

.fge-confirmation-status strong {
	font-size: 17px;
}

.fge-confirmation-status p {
	font-size: 14px;
}

.fge-confirmation-email {
	padding: 17px 18px;
	font-size: 14px;
}

.fge-confirmation-items__list {
	gap: 22px;
}

.fge-confirmation-item {
	grid-template-columns: 82px minmax(0, 1fr) auto;
	gap: 20px;
}

.fge-confirmation-item + .fge-confirmation-item {
	padding-top: 22px;
}

.fge-confirmation-item__image {
	width: 82px;
	height: 82px;
}

.fge-confirmation-item__content strong {
	font-size: 17px;
}

.fge-confirmation-item__content p,
.fge-confirmation-item__content small {
	font-size: 13px;
}

.fge-confirmation-item__price {
	font-size: 17px;
	line-height: 1.25;
}

/* Neutralize theme rules that raise the currency symbol. */
.fge-confirmation .woocommerce-Price-amount,
.fge-confirmation .woocommerce-Price-currencySymbol {
	display: inline !important;
	font: inherit !important;
	line-height: inherit !important;
	vertical-align: baseline !important;
	position: static !important;
	top: auto !important;
	bottom: auto !important;
}

.fge-confirmation-next__grid {
	gap: 24px;
}

.fge-confirmation-next__grid a {
	gap: 9px;
}

.fge-confirmation-next__grid strong {
	font-size: 15px;
}

.fge-confirmation-next__grid small {
	font-size: 12px;
}

.fge-confirmation-trust {
	padding: 21px 26px;
	margin-bottom: 26px;
}

.fge-confirmation-trust > div {
	font-size: 12px;
	gap: 10px;
}

.fge-confirmation-trust img {
	width: 21px;
	height: 21px;
}

.fge-confirmation__continue {
	min-width: 230px;
	min-height: 52px;
	font-size: 16px;
}

@media (max-width: 767px) {
	.fge-confirmation {
		margin-top: 32px;
		padding: 0 16px;
	}

	.fge-confirmation__hero h1 {
		font-size: 38px;
	}

	.fge-confirmation__hero p {
		font-size: 16px;
	}

	.fge-confirmation-card {
		padding: 24px 20px;
	}

	.fge-confirmation-item {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.fge-confirmation-item__image {
		width: 64px;
		height: 64px;
	}
}


/* Confirmation typography/icon scale pass — v2.1.2 */
.fge-confirmation__hero p {
	max-width: 720px;
	font-size: 23px;
	line-height: 1.5;
}

.fge-confirmation-status {
	grid-template-columns: 62px minmax(0, 1fr);
	gap: 20px;
}

.fge-confirmation-status > span,
.fge-confirmation-next__grid a > span {
	width: 62px;
	height: 62px;
}

.fge-confirmation-status svg,
.fge-confirmation-next__grid svg {
	width: 31px;
	height: 31px;
}

.fge-confirmation-status strong {
	font-size: 22px;
}

.fge-confirmation-status p {
	font-size: 18px;
	line-height: 1.45;
}

.fge-confirmation-item__content strong {
	font-size: 22px;
}

.fge-confirmation-item__content p,
.fge-confirmation-item__content small {
	font-size: 17px;
	line-height: 1.45;
}

.fge-confirmation-next__grid {
	gap: 30px;
}

.fge-confirmation-next__grid a {
	gap: 12px;
}

.fge-confirmation-next__grid strong {
	font-size: 19px;
}

.fge-confirmation-next__grid small {
	font-size: 15px;
	line-height: 1.45;
}

@media (max-width: 767px) {
	.fge-confirmation__hero p {
		font-size: 18px;
	}

	.fge-confirmation-status {
		grid-template-columns: 52px minmax(0, 1fr);
	}

	.fge-confirmation-status > span,
	.fge-confirmation-next__grid a > span {
		width: 52px;
		height: 52px;
	}

	.fge-confirmation-status svg,
	.fge-confirmation-next__grid svg {
		width: 26px;
		height: 26px;
	}

	.fge-confirmation-status strong,
	.fge-confirmation-item__content strong {
		font-size: 18px;
	}

	.fge-confirmation-status p,
	.fge-confirmation-item__content p,
	.fge-confirmation-item__content small {
		font-size: 14px;
	}

	.fge-confirmation-next__grid strong {
		font-size: 16px;
	}

	.fge-confirmation-next__grid small {
		font-size: 13px;
	}
}


/* Square Apple Pay / Google Pay placement — v2.1.3 */
.fge-wallet-panel[hidden] {
	display: none !important;
}

.fge-wallet-panel {
	box-sizing: border-box;
	width: 100%;
}

.fge-wallet-panel--checkout {
	background: #fff;
	border: 1px solid #e5e1da;
	border-radius: 10px;
	padding: 28px 30px 20px;
	margin-bottom: 22px;
}

.fge-wallet-panel__label,

.fge-wallet-panel__label {
	margin-bottom: 16px;
}

.fge-wallet-panel__buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	align-items: stretch;
	width: 100%;
}

.fge-wallet-panel__buttons > * {
	min-width: 0;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.fge-wallet-panel__buttons button,
.fge-wallet-panel__buttons iframe,
.fge-wallet-panel__buttons apple-pay-button,
.fge-wallet-panel__buttons google-pay-button {
	width: 100% !important;
	max-width: none !important;
	min-height: 46px;
	margin: 0 !important;
}

/* If Square supplies a single combined wallet wrapper, let it span the row. */
.fge-wallet-panel__buttons > :only-child {
	grid-column: 1 / -1;
}

.fge-wallet-native-divider {
	display: none !important;
}

.fge-wallet-panel__divider {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #77716a;
	font-size: 12px;
	margin-top: 16px;
}

.fge-wallet-panel__divider::before,
.fge-wallet-panel__divider::after {
	content: '';
	flex: 1 1 auto;
	height: 1px;
	background: #e5e1da;
}




@media (max-width: 767px) {
	.fge-wallet-panel--checkout {
		padding: 22px 18px 16px;
	}
	.fge-wallet-panel__buttons {
		grid-template-columns: 1fr;
	}
	.fge-wallet-panel__buttons > * {
		grid-column: 1 !important;
	}
}




/* Square wallet rollback and presentation polish — v2.1.6 */
.fge-wallet-panel__label {
	font-size: 1.3em;
	line-height: 1.25;
}

.fge-wallet-native-divider {
	display: none !important;
}



/* Elementor cart compatibility — v2.1.8
   The Square source is printed from wp_footer because Elementor's Cart widget
   does not execute the classic cart-totals hook where Square normally renders. */


/* Checkout-only Square wallet cleanup — v2.1.9 */
body.woocommerce-cart .fge-wallet-panel--cart,
body.woocommerce-cart .fge-square-cart-wallet-source {
	display: none !important;
}

.fge-wallet-native-divider {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}


/* =========================================================
   Checkout shipping clarity — v2.2.0
   ========================================================= */
.fge-cart-shipping-progress__renewal-note {
	margin: 7px 0 0 28px;
	color: #6f6a63;
	font-size: 12px;
	line-height: 1.4;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row th {
	white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	text-align: left;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
	width: auto;
	min-width: 255px;
	margin-left: auto !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.order-total td {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px 12px;
}

.fge-free-shipping-applied {
	color: #4f9564;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-renewal-shipping-row th {
	width: 42%;
	vertical-align: top;
	padding-top: 12px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-renewal-shipping-row td {
	text-align: right;
	padding-top: 12px !important;
}

.fge-renewal-shipping-summary {
	color: #10213e;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

.fge-renewal-shipping-controls {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td {
		display: block;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
		min-width: 0;
		width: 100%;
	}

	.fge-free-shipping-applied {
		width: 100%;
		text-align: right;
	}

	.fge-cart-shipping-progress__renewal-note {
		margin-left: 0;
	}
}


/* =========================================================
   Shipping summary layout polish — v2.2.1
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-free-shipping-row td {
	display: table-cell !important;
	width: 100% !important;
	padding: 8px 0 14px !important;
	text-align: center !important;
}

.fge-free-shipping-applied {
	display: block;
	width: 100%;
	padding: 13px 18px;
	border: 1px solid #cfe7d5;
	border-radius: 8px;
	background: #eef8f0;
	color: #4f9564;
	font-family: "Nunito Sans", sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	white-space: normal;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.order-total th,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.order-total td {
	padding-top: 10px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.order-total td {
	display: table-cell !important;
	text-align: right !important;
	white-space: nowrap;
}

.fge-renewal-shipping-controls,
.fge-renewal-shipping-control-part {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-renewal-shipping-row td {
	min-width: 0;
	vertical-align: top;
}

.fge-renewal-shipping-summary {
	display: block;
	max-width: 290px;
	margin-left: auto;
	color: #10213e;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	text-align: right;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.recurring-total td,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.order-total.recurring-total td {
	white-space: normal;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .first-payment-date,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .wcsatt-sub-options,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card .subscription-details {
	line-height: 1.35;
}

@media (max-width: 767px) {
	.fge-free-shipping-applied {
		font-size: 20px;
		padding: 11px 14px;
	}

	.fge-renewal-shipping-summary {
		max-width: none;
		text-align: left;
	}
}


/* =========================================================
   Cart / checkout summary polish — v2.2.2
   ========================================================= */

/* Hide all shipping presentation on the cart page. Shipping remains fully
   calculated and is shown/selected at checkout. */
body.woocommerce-cart .fge-cart-hidden-shipping-row,
body.woocommerce-cart tr.woocommerce-shipping-totals,
body.woocommerce-cart .woocommerce-shipping-destination,
body.woocommerce-cart .woocommerce-shipping-calculator,
body.woocommerce-cart .woocommerce-shipping-methods,
body.woocommerce-cart ul#shipping_method {
	display: none !important;
}

/* Push today's selectable methods to the right edge of the checkout summary. */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row th {
	width: 34% !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td {
	width: 66% !important;
	display: flex !important;
	justify-content: flex-end !important;
	align-items: flex-start !important;
	padding-right: 0 !important;
	text-align: right !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
	display: inline-block !important;
	width: max-content !important;
	min-width: 280px !important;
	max-width: 100% !important;
	margin: 0 0 0 auto !important;
	text-align: left !important;
}

/* One clean horizontal trust row on cart and checkout. */
body.woocommerce-cart .fge-cart-trust,
body.woocommerce-cart .fge-checkout-trust,
body.woocommerce-cart .e-cart__column-end .fge-cart-trust,
body.woocommerce-checkout .fge-checkout-trust {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: center !important;
	gap: 12px !important;
}

body.woocommerce-cart .fge-cart-trust > *,
body.woocommerce-cart .fge-checkout-trust > *,
body.woocommerce-checkout .fge-checkout-trust > * {
	min-width: 0 !important;
	justify-content: center !important;
	text-align: center !important;
}

/* Increase right-summary typography by approximately 4px.
   The large free-shipping callout deliberately retains its existing size. */
body.woocommerce-cart .e-cart__column-end,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .fge-checkout-summary-card {
	font-size: 16px !important;
}

body.woocommerce-cart .e-cart__column-end h2,
body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout .fge-checkout-summary-card > h2 {
	font-size: 30px !important;
	line-height: 1.15 !important;
}

body.woocommerce-cart .e-cart__column-end th,
body.woocommerce-cart .e-cart__column-end td,
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td,
body.woocommerce-checkout .fge-checkout-summary-card th,
body.woocommerce-checkout .fge-checkout-summary-card td,
body.woocommerce-checkout .fge-checkout-summary-card .product-name,
body.woocommerce-checkout .fge-checkout-summary-card .product-total {
	font-size: 16px !important;
	line-height: 1.45 !important;
}

body.woocommerce-checkout .fge-checkout-summary-card .product-name strong,
body.woocommerce-checkout .fge-checkout-summary-card .fge-checkout-product-title {
	font-size: 17px !important;
}

body.woocommerce-cart .e-cart__column-end .order-total,
body.woocommerce-cart .cart_totals .order-total,
body.woocommerce-checkout .fge-checkout-summary-card .order-total,
body.woocommerce-checkout .fge-checkout-summary-card .recurring-total {
	font-size: 20px !important;
}

body.woocommerce-cart .fge-cart-trust,
body.woocommerce-checkout .fge-checkout-trust {
	font-size: 14px !important;
}

/* Preserve the approved callout dimensions. */
body.woocommerce-checkout .fge-free-shipping-applied {
	font-size: 26px !important;
}

@media (max-width: 1100px) {
	body.woocommerce-cart .fge-cart-trust,
	body.woocommerce-cart .fge-checkout-trust,
	body.woocommerce-checkout .fge-checkout-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row th,
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td {
		width: 100% !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
		width: 100% !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .fge-cart-trust,
	body.woocommerce-cart .fge-checkout-trust,
	body.woocommerce-checkout .fge-checkout-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}


/* =========================================================
   Summary alignment and footer spacing — v2.2.3
   ========================================================= */

/* Force the Shipping Today methods to the far-right edge. */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td {
	display: table-cell !important;
	width: 66% !important;
	text-align: right !important;
	vertical-align: top !important;
	padding-right: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
	display: inline-block !important;
	float: right !important;
	clear: both !important;
	width: auto !important;
	min-width: 285px !important;
	max-width: 100% !important;
	margin: 0 !important;
	text-align: left !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td::after {
	content: "";
	display: table;
	clear: both;
}

/* Right-align the approved free-shipping callout. */
body.woocommerce-checkout .fge-free-shipping-applied {
	text-align: right !important;
	padding-right: 22px !important;
}

/* Make both summary cards stretch vertically so the security line can sit
   near the bottom of the card. */
body.woocommerce-checkout .fge-checkout-summary-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: 100% !important;
}

body.woocommerce-checkout .fge-checkout-summary-card [data-fge-summary-slot] {
	flex: 0 0 auto;
}

/* Add a clean gap between the separator and trust icons. */
body.woocommerce-checkout .fge-checkout-trust,
body.woocommerce-cart .fge-cart-trust-grid {
	margin-top: 20px !important;
	padding-top: 10px !important;
}

/* Put the encrypted-checkout line at the bottom with 10px bottom breathing room. */
body.woocommerce-checkout .fge-checkout-ssl {
	margin-top: auto !important;
	margin-bottom: 10px !important;
	padding-top: 14px !important;
	text-align: center !important;
}

body.woocommerce-cart .e-cart__column-end .wc-proceed-to-checkout {
	display: flex !important;
	flex-direction: column !important;
}

body.woocommerce-cart .fge-cart-ssl {
	margin: 14px 0 10px !important;
	padding-top: 12px !important;
	color: #77716a;
	font-size: 12px;
	line-height: 1.4;
	text-align: center;
}

/* Preserve a single trust row on desktop. */
body.woocommerce-cart .fge-cart-trust-grid,
body.woocommerce-checkout .fge-checkout-trust {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td {
		display: block !important;
		width: 100% !important;
		text-align: left !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
		float: none !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	body.woocommerce-checkout .fge-free-shipping-applied {
		text-align: center !important;
		padding-right: 14px !important;
	}

	body.woocommerce-cart .fge-cart-trust-grid,
	body.woocommerce-checkout .fge-checkout-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}


/* =========================================================
   Shipping block spacing / summary footer balance — v2.2.4
   ========================================================= */

/* Give the checkout shipping block more breathing room and a subtle grouped background. */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row th,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td {
	background: #f7f7f4 !important;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	vertical-align: top !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row th {
	width: 26% !important;
	padding-left: 14px !important;
	border-top-left-radius: 10px !important;
	border-bottom-left-radius: 10px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td {
	width: 74% !important;
	padding-right: 14px !important;
	border-top-right-radius: 10px !important;
	border-bottom-right-radius: 10px !important;
	text-align: right !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
	float: right !important;
	margin-left: auto !important;
	margin-right: 0 !important;
	min-width: 305px !important;
	max-width: 100% !important;
}

/* Keep the free-shipping callout visually tied to the shipping block but right-aligned. */
body.woocommerce-checkout .fge-free-shipping-applied {
	margin-top: 10px !important;
	text-align: right !important;
	padding: 14px 18px !important;
	border-radius: 10px !important;
}

/* Balance the footer zone under the last separator line. */
body.woocommerce-checkout .fge-checkout-trust,
body.woocommerce-cart .fge-cart-trust-grid {
	margin-top: 14px !important;
	padding-top: 10px !important;
	padding-bottom: 8px !important;
	align-items: center !important;
}

body.woocommerce-checkout .fge-checkout-ssl,
body.woocommerce-cart .fge-cart-ssl {
	margin-top: 8px !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 10px !important;
	text-align: center !important;
}

/* Slightly more room below the summary footer area so badges feel centered in the card. */
body.woocommerce-checkout .fge-checkout-summary-card,
body.woocommerce-cart .e-cart__column-end .wc-proceed-to-checkout {
	padding-bottom: 12px !important;
}

@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row th,
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td {
		background: transparent !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		border-radius: 0 !important;
	}

	body.woocommerce-checkout .fge-free-shipping-applied {
		text-align: center !important;
	}
}


/* =========================================================
   Shipping row centering + footer spacing balance — v2.2.5
   ========================================================= */

/* Center the Shipping Today label and bring both sides closer to the middle. */
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row th,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td {
	vertical-align: middle !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row th {
	width: 42% !important;
	text-align: center !important;
	padding-left: 20px !important;
	padding-right: 12px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td {
	width: 58% !important;
	text-align: left !important;
	padding-left: 12px !important;
	padding-right: 20px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
body.woocommerce-checkout:not(.woocommerce-order-received)
.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
	float: none !important;
	display: inline-block !important;
	margin: 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: 100% !important;
}

/* Keep the free-shipping banner right aligned under the centered shipping area. */
body.woocommerce-checkout .fge-free-shipping-applied {
	text-align: right !important;
}

/* Add more space BELOW the last divider so badges + SSL sit farther from recurring totals. */
body.woocommerce-checkout .fge-checkout-trust,
body.woocommerce-cart .fge-cart-trust-grid {
	margin-top: 12px !important;
	padding-top: 18px !important;
	padding-bottom: 6px !important;
}

body.woocommerce-checkout .fge-checkout-ssl,
body.woocommerce-cart .fge-cart-ssl {
	margin-top: 10px !important;
	padding-top: 0 !important;
	padding-bottom: 10px !important;
}

@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row th,
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td {
		width: 100% !important;
		text-align: center !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td .woocommerce-shipping-methods,
	body.woocommerce-checkout:not(.woocommerce-order-received)
	.fge-checkout-summary-card tr.fge-shipping-today-row td ul#shipping_method {
		display: inline-block !important;
	}

	body.woocommerce-checkout .fge-free-shipping-applied {
		text-align: center !important;
	}
}


/* =========================================================
   v2.2.7 Order-confirmation site-review integration.
   Keep the reviews plugin form visible and place it inside the
   custom confirmation flow above Continue Shopping.
   ========================================================= */
body.woocommerce-order-received.fge-has-order-confirmation .fge-confirmation > .fge-site-review-box {
	width: 100% !important;
	max-width: none !important;
	margin: 18px 0 22px !important;
	box-sizing: border-box;
}
body.woocommerce-order-received.fge-has-order-confirmation .fge-confirmation > .fge-site-review-box + .fge-confirmation__continue {
	margin-top: 0 !important;
}

/* =========================================================
   v2.2.8 WooCommerce My Account redesign.
   Shared across Dashboard, Orders, Subscriptions, Downloads,
   Addresses, Payment Methods, Account Details and My Reviews.
   ========================================================= */
body.woocommerce-account .woocommerce {
	width: min(1240px, calc(100% - 48px));
	margin: 54px auto 72px;
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 34px;
	align-items: start;
	font-family: "Nunito Sans", sans-serif;
	color: #292522;
}
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after { display: none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 10px 16px 10px 46px;
	border: 1px solid #ebe6de;
	border-radius: 12px;
	background: #fdfbf7;
	color: #10213e !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none !important;
	transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a::before {
	position: absolute;
	left: 17px;
	top: 50%;
	width: 18px;
	transform: translateY(-50%);
	font-size: 17px;
	line-height: 1;
	text-align: center;
	font-weight: 400;
}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before { content: "⌂"; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before { content: "▤"; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--subscriptions a::before { content: "↻"; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before { content: "↓"; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before { content: "⌖"; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a::before { content: "▣"; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before { content: "○"; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--my-reviews a::before { content: "★"; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "→"; }
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	transform: translateY(-1px);
	border-color: #cdd8e6;
	background: #f4f7fa;
}
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	border-color: #10213e;
	background: #10213e;
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(16,33,62,.12);
}
body.woocommerce-account .woocommerce-MyAccount-content {
	min-height: 390px;
	padding: 34px 38px 38px;
	border: 1px solid #ebe6de;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 36px rgba(16,33,62,.055);
	box-sizing: border-box;
}
body.woocommerce-account .woocommerce-MyAccount-content > h2:first-child,
body.woocommerce-account .woocommerce-MyAccount-content > h3:first-child {
	margin-top: 0;
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: #10213e;
	font-family: "DM Serif Display", serif;
	font-weight: 400;
}
body.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 36px; }
body.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 26px; }
body.woocommerce-account .woocommerce-MyAccount-content p { line-height: 1.65; }
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: #10213e; }
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content button,
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
	min-height: 42px;
	padding: 10px 18px !important;
	border: 1px solid #10213e !important;
	border-radius: 8px !important;
	background: #10213e !important;
	color: #fff !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content button:hover,
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover { background: #0b1930 !important; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 10px !important;
	background: transparent;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	padding: 0 14px 7px !important;
	border: 0 !important;
	color: #756e68;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr {
	background: #fdfbf7;
	box-shadow: inset 0 0 0 1px #ebe6de;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td {
	padding: 15px 14px !important;
	border: 0 !important;
	vertical-align: middle;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td:first-child { border-radius: 11px 0 0 11px; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td:last-child { border-radius: 0 11px 11px 0; }
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error {
	margin: 0 0 22px !important;
	padding: 20px 20px 20px 58px !important;
	border: 0 !important;
	border-top: 3px solid #3196d1 !important;
	border-radius: 12px;
	background: #f4f7fa;
	color: #292522;
}
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-message::before { color: #3196d1 !important; left: 22px !important; top: 22px !important; }
body.woocommerce-account form .form-row input.input-text,
body.woocommerce-account form .form-row textarea,
body.woocommerce-account form .form-row select,
body.woocommerce-account .select2-container .select2-selection {
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid #dcd5cb;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}
body.woocommerce-account form .form-row label { margin-bottom: 6px; color: #292522; font-weight: 700; }
body.woocommerce-account .woocommerce-Address {
	padding: 22px;
	border: 1px solid #ebe6de;
	border-radius: 14px;
	background: #fdfbf7;
}

@media (max-width: 900px) {
	body.woocommerce-account .woocommerce {
		width: min(100% - 30px, 760px);
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 32px;
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0 !important; }
}
@media (max-width: 600px) {
	body.woocommerce-account .woocommerce { width: calc(100% - 22px); margin: 22px auto 42px; }
	body.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; gap: 7px; }
	body.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 44px; }
	body.woocommerce-account .woocommerce-MyAccount-content { padding: 24px 18px 26px; border-radius: 14px; }
	body.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 30px; }
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead { display: none; }
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody,
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr,
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { display: block; width: 100%; box-sizing: border-box; }
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr { margin-bottom: 14px; padding: 10px 0; border-radius: 12px; }
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td { padding: 7px 14px !important; border-radius: 0 !important; }
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td::before { font-weight: 700; color: #756e68; }
}

/* =========================================================
   v2.2.9 Logged-out My Account / customer login.
   WooCommerce outputs the heading and form as direct children,
   so override the signed-in two-column account grid.
   ========================================================= */
body.woocommerce-account:not(.logged-in) .woocommerce {
	width: min(560px, calc(100% - 40px));
	margin: 58px auto 78px;
	display: block;
	font-family: "Nunito Sans", sans-serif;
}
body.woocommerce-account:not(.logged-in) .woocommerce > h2 {
	margin: 0 0 24px;
	color: #10213e;
	font-family: "DM Serif Display", serif;
	font-size: clamp(42px, 5vw, 58px);
	font-weight: 400;
	line-height: 1.05;
	text-align: center;
}
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) form.login {
	width: 100%;
	margin: 0 !important;
	padding: 38px 42px 40px !important;
	border: 1px solid #ebe6de !important;
	border-radius: 18px !important;
	background: #fff;
	box-shadow: 0 12px 36px rgba(16,33,62,.065);
	box-sizing: border-box;
}
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .form-row,
body.woocommerce-account:not(.logged-in) form.login .form-row {
	float: none !important;
	width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login label,
body.woocommerce-account:not(.logged-in) form.login label {
	display: block;
	margin: 0 0 7px;
	color: #10213e;
	font-size: 16px;
	font-weight: 700;
}
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login input.input-text,
body.woocommerce-account:not(.logged-in) form.login input.input-text {
	width: 100%;
	min-height: 52px;
	padding: 12px 14px;
	border: 1px solid #dcd5cb;
	border-radius: 9px;
	background: #fdfbf7;
	font-size: 16px;
	box-sizing: border-box;
	transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login input.input-text:focus,
body.woocommerce-account:not(.logged-in) form.login input.input-text:focus {
	border-color: #3196d1;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(49,150,209,.12);
	outline: 0;
}
body.woocommerce-account:not(.logged-in) .password-input {
	display: block;
	width: 100%;
}
body.woocommerce-account:not(.logged-in) .show-password-input {
	right: 14px !important;
	top: 50% !important;
	transform: translateY(-50%);
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 2px 0 20px !important;
	font-weight: 600 !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input {
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: #10213e;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit {
	display: block !important;
	float: none !important;
	width: 100%;
	min-height: 52px;
	margin: 0 0 17px !important;
	padding: 12px 22px !important;
	border: 1px solid #10213e !important;
	border-radius: 9px !important;
	background: #10213e !important;
	color: #fff !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit:hover {
	background: #0b1930 !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
	margin: 0 !important;
	text-align: center;
}
body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a {
	color: #10213e;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 600px) {
	body.woocommerce-account:not(.logged-in) .woocommerce {
		width: calc(100% - 24px);
		margin: 34px auto 52px;
	}
	body.woocommerce-account:not(.logged-in) .woocommerce > h2 {
		margin-bottom: 20px;
		font-size: 40px;
	}
	body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
	body.woocommerce-account:not(.logged-in) form.login {
		padding: 28px 22px 30px !important;
		border-radius: 14px !important;
	}
}

/* ========================================================================
   v2.3.1 responsive stabilization pass: cart + checkout
   ======================================================================== */
@media (max-width: 1024px) {
  html, body { max-width:100%; overflow-x:hidden; }
  body.woocommerce-cart .elementor-widget-woocommerce-cart,
  body.woocommerce-cart .e-cart,
  body.woocommerce-cart .e-cart__container,
  body.woocommerce-cart .e-cart__column-start,
  body.woocommerce-cart .e-cart__column-end,
  body.woocommerce-checkout .elementor-widget-shortcode,
  body.woocommerce-checkout .elementor-shortcode,
  body.woocommerce-checkout .woocommerce,
  .fge-checkout,
  .fge-checkout__grid,
  .fge-checkout__main,
  .fge-checkout__aside { min-width:0 !important; width:100% !important; max-width:100% !important; }

  body.woocommerce-cart .e-cart__container {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:28px !important;
  }
  body.woocommerce-cart .e-cart__column-start,
  body.woocommerce-cart .e-cart__column-end { position:static !important; }
  body.woocommerce-cart .e-cart__column-end .cart_totals {
    position:static !important;
    top:auto !important;
    margin:0 !important;
  }

  .fge-checkout__grid { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:24px !important; }
  .fge-checkout__main { order:1 !important; }
  .fge-checkout__aside { order:2 !important; }
  .fge-checkout-summary-card { position:static !important; top:auto !important; margin:0 !important; }
}

@media (max-width: 767px) {
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main,
  body.woocommerce-cart .elementor-section .elementor-container,
  body.woocommerce-checkout .elementor-section .elementor-container,
  body.woocommerce-cart .e-con,
  body.woocommerce-checkout .e-con { max-width:100% !important; }

  body.woocommerce-cart .elementor-widget-container,
  body.woocommerce-checkout .elementor-widget-container { min-width:0 !important; }

  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce { overflow:visible !important; }

  .fge-cart-shipping-progress {
    width:auto !important;
    max-width:none !important;
    margin:0 16px 28px !important;
    padding:20px !important;
    border-radius:16px !important;
  }
  .fge-cart-shipping-progress__message { gap:10px !important; font-size:17px !important; line-height:1.4 !important; }
  .fge-cart-shipping-progress__icon { width:22px !important; min-width:22px !important; }
  .fge-cart-shipping-progress__renewal-note { font-size:13px !important; }

  body.woocommerce-cart .woocommerce-cart-form table.shop_table,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table td { width:100% !important; max-width:100% !important; min-width:0 !important; }

  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) !important;
    grid-template-areas:
      "image name"
      "image price"
      "plan plan"
      "qty subtotal" !important;
    gap:14px 16px !important;
    padding:20px !important;
    margin:0 16px 22px !important;
    width:auto !important;
    min-height:0 !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .product-thumbnail { grid-area:image !important; width:88px !important; align-self:start !important; }
  body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a { width:88px !important; height:104px !important; min-width:88px !important; }
  body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img { width:100% !important; height:100% !important; object-fit:contain !important; }
  body.woocommerce-cart .woocommerce-cart-form .product-name { grid-area:name !important; padding:0 32px 0 0 !important; align-self:start !important; }
  body.woocommerce-cart .woocommerce-cart-form .product-name > a { font-size:21px !important; line-height:1.15 !important; overflow-wrap:anywhere; }
  .fge-cart-item-meta__original-title { font-size:15px !important; line-height:1.35 !important; }
  .fge-cart-item-meta__details { font-size:13px !important; }
  body.woocommerce-cart .woocommerce-cart-form .product-price { grid-area:price !important; display:block !important; padding:0 !important; text-align:left !important; }
  body.woocommerce-cart .woocommerce-cart-form .fge-cart-subscription-upsell { grid-area:plan !important; width:100% !important; min-width:0 !important; margin:0 !important; }
  body.woocommerce-cart .woocommerce-cart-form .product-quantity { grid-area:qty !important; padding:0 !important; align-self:end !important; }
  body.woocommerce-cart .woocommerce-cart-form .product-subtotal,
  body.woocommerce-cart .woocommerce-cart-form .fge-cart-final-price { grid-area:subtotal !important; padding:0 !important; justify-self:end !important; align-self:end !important; text-align:right !important; min-width:0 !important; }
  body.woocommerce-cart .woocommerce-cart-form .quantity.fge-cart-quantity { max-width:132px !important; }
  body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .product-remove,
  body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .fge-cart-product-remove,
  body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item > .fge-cart-remove-control {
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    width:28px !important;
    height:28px !important;
    padding:0 !important;
  }

  body.woocommerce-cart .e-cart__column-start .coupon,
  body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon,
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 16px 24px !important;
    padding:20px !important;
  }
  body.woocommerce-cart .e-cart__column-start .coupon::before,
  body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon::before,
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon::before { font-size:22px !important; }
  body.woocommerce-cart .e-cart__column-start .coupon input.input-text,
  body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon input.input-text,
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon input.input-text,
  body.woocommerce-cart .e-cart__column-start .coupon button.button,
  body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon button.button,
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }

  body.woocommerce-cart .e-cart__column-end { padding:0 16px !important; }
  body.woocommerce-cart .e-cart__column-end .cart_totals {
    width:100% !important;
    max-width:100% !important;
    padding:24px 20px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
  }
  body.woocommerce-cart .cart_totals h2 { font-size:36px !important; line-height:1.05 !important; }
  body.woocommerce-cart .cart_totals table.shop_table th,
  body.woocommerce-cart .cart_totals table.shop_table td { font-size:17px !important; padding:12px 0 !important; }
  body.woocommerce-cart .cart_totals .order-total th,
  body.woocommerce-cart .cart_totals .order-total td { font-size:25px !important; }
  body.woocommerce-cart .cart_totals .checkout-button { width:100% !important; padding:18px 14px !important; font-size:18px !important; }
  body.woocommerce-cart .fge-cart-trust-grid { grid-template-columns:1fr 1fr !important; gap:14px 12px !important; }
  body.woocommerce-cart .fge-cart-secure-note { font-size:14px !important; text-align:center !important; }

  .fge-checkout { padding:24px 16px 56px !important; box-sizing:border-box !important; overflow:visible !important; }
  .fge-checkout__top h1 { font-size:48px !important; line-height:1 !important; }
  .fge-checkout-steps { width:100% !important; gap:10px !important; }
  .fge-checkout-stepper { flex:0 0 46px !important; width:46px !important; height:46px !important; }
  .fge-checkout-steps > i { min-width:0 !important; }
  .fge-checkout-card,
  .fge-review-card,
  .fge-checkout-summary-card,
  .fge-express-checkout { width:100% !important; max-width:100% !important; min-width:0 !important; margin:0 !important; padding:22px 18px !important; border-radius:18px !important; box-sizing:border-box !important; }
  .fge-checkout-card h2,
  .fge-review-card h2,
  .fge-checkout-summary-card h2 { font-size:34px !important; line-height:1.05 !important; overflow-wrap:anywhere; }
  .fge-checkout-card__heading { align-items:flex-start !important; gap:14px !important; }
  .fge-checkout-card__heading span { font-size:14px !important; text-align:right !important; }

  .fge-checkout .form-row,
  .fge-checkout .form-row-first,
  .fge-checkout .form-row-last,
  .fge-checkout .form-row-wide { float:none !important; width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
  .fge-checkout input.input-text,
  .fge-checkout select,
  .fge-checkout textarea,
  .fge-checkout .select2-container { width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; }
  .fge-checkout input.input-text,
  .fge-checkout select,
  .fge-checkout .select2-selection { min-height:54px !important; font-size:16px !important; }
  .fge-checkout label { font-size:16px !important; }

  .fge-express-checkout iframe,
  .fge-express-checkout button,
  .fge-express-checkout .wc-square-wallet-buttons,
  .fge-express-checkout .wc-square-wallet-button,
  .fge-express-checkout [class*="wallet"] { max-width:100% !important; width:100% !important; min-width:0 !important; }

  .fge-checkout-summary-card .woocommerce-checkout-review-order-table,
  .fge-checkout-summary-card .woocommerce-checkout-review-order-table tbody,
  .fge-checkout-summary-card .woocommerce-checkout-review-order-table tfoot,
  .fge-checkout-summary-card .woocommerce-checkout-review-order-table tr,
  .fge-checkout-summary-card .woocommerce-checkout-review-order-table td,
  .fge-checkout-summary-card .woocommerce-checkout-review-order-table th { max-width:100% !important; min-width:0 !important; }
  .fge-checkout-product { grid-template-columns:72px minmax(0,1fr) !important; gap:14px !important; }
  .fge-checkout-product__media { width:72px !important; min-width:72px !important; }
  .fge-checkout-product__title { overflow-wrap:anywhere; }
  .fge-checkout-actions { display:grid !important; grid-template-columns:1fr !important; gap:12px !important; }
  .fge-checkout-actions .button,
  .fge-checkout-actions button { width:100% !important; }
}

@media (max-width: 420px) {
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
    grid-template-columns:76px minmax(0,1fr) !important;
    padding:18px 16px !important;
    margin-left:12px !important;
    margin-right:12px !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .product-thumbnail,
  body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a { width:76px !important; min-width:76px !important; }
  body.woocommerce-cart .woocommerce-cart-form .product-name > a { font-size:19px !important; }
  .fge-checkout { padding-left:12px !important; padding-right:12px !important; }
  .fge-checkout__top h1 { font-size:42px !important; }
}


/* =========================================================
   v2.3.2 Mobile coupon heading spacing correction.
   ========================================================= */
@media (max-width: 767px) {
  body.woocommerce-cart .e-cart__column-start .coupon,
  body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon,
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
    padding-top:68px !important;
  }
  body.woocommerce-cart .e-cart__column-start .coupon::before,
  body.woocommerce-cart .elementor-widget-woocommerce-cart .coupon::before,
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon::before {
    top:18px !important;
    left:20px !important;
    right:20px !important;
    font-size:20px !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }
}


/* =========================================================
   v2.3.3 Elementor / WooCommerce slide-out mini cart.
   ========================================================= */
.elementor-menu-cart__container,
.elementor-menu-cart__main,
.e-wc-menu-cart__container,
.e-wc-menu-cart__main {
  box-sizing:border-box !important;
}

.elementor-menu-cart__main,
.e-wc-menu-cart__main {
  background:#fdfbf4 !important;
  color:#10213e !important;
  width:min(440px, 92vw) !important;
  max-width:92vw !important;
  padding:28px 24px 24px !important;
  box-shadow:-16px 0 45px rgba(16,33,62,.16) !important;
  overflow-x:hidden !important;
}

.elementor-menu-cart__close-button,
.e-wc-menu-cart__close-button {
  color:#10213e !important;
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background:#fff !important;
  border:1px solid #e5e0d7 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.elementor-menu-cart__products,
.e-wc-menu-cart__products {
  display:grid !important;
  gap:14px !important;
  margin:20px 0 !important;
  border:0 !important;
}

.elementor-menu-cart__product,
.e-wc-menu-cart__product {
  display:grid !important;
  grid-template-columns:104px minmax(0,1fr) 28px !important;
  gap:16px !important;
  align-items:center !important;
  padding:16px !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid #e8e3da !important;
  border-radius:18px !important;
  box-shadow:0 8px 24px rgba(16,33,62,.06) !important;
}

.elementor-menu-cart__product-image,
.e-wc-menu-cart__product-image {
  width:104px !important;
  min-width:104px !important;
  margin:0 !important;
}
.elementor-menu-cart__product-image img,
.e-wc-menu-cart__product-image img {
  width:100% !important;
  height:104px !important;
  object-fit:contain !important;
  border-radius:12px !important;
}

.elementor-menu-cart__product-name,
.e-wc-menu-cart__product-name {
  min-width:0 !important;
  color:#10213e !important;
  font-family:"Nunito Sans",sans-serif !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}
.elementor-menu-cart__product-name a,
.e-wc-menu-cart__product-name a {
  color:#10213e !important;
  text-decoration:none !important;
}
.elementor-menu-cart__product-price,
.e-wc-menu-cart__product-price {
  color:#5f6775 !important;
  font-family:"Nunito Sans",sans-serif !important;
  font-size:15px !important;
  line-height:1.45 !important;
}

.elementor-menu-cart__product-remove,
.e-wc-menu-cart__product-remove {
  position:static !important;
  width:28px !important;
  height:28px !important;
  border-radius:50% !important;
  border:1px solid #d9d4cb !important;
  background:#fdfbf4 !important;
  color:#10213e !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:start !important;
}

.elementor-menu-cart__subtotal,
.e-wc-menu-cart__subtotal {
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:18px 0 !important;
  margin:0 !important;
  border-top:1px solid #ddd7cd !important;
  border-bottom:1px solid #ddd7cd !important;
  color:#10213e !important;
  font-family:"Nunito Sans",sans-serif !important;
  font-size:18px !important;
  font-weight:700 !important;
}

.elementor-menu-cart__footer-buttons,
.e-wc-menu-cart__footer-buttons {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-top:18px !important;
}
.elementor-menu-cart__footer-buttons .elementor-button,
.e-wc-menu-cart__footer-buttons .elementor-button,
.elementor-menu-cart__footer-buttons a,
.e-wc-menu-cart__footer-buttons a {
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  padding:14px 16px !important;
  border-radius:12px !important;
  border:1px solid #10213e !important;
  background:#10213e !important;
  color:#fff !important;
  font-family:"Nunito Sans",sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-decoration:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.elementor-menu-cart__footer-buttons .elementor-button:first-child,
.e-wc-menu-cart__footer-buttons .elementor-button:first-child,
.elementor-menu-cart__footer-buttons a:first-child,
.e-wc-menu-cart__footer-buttons a:first-child {
  background:#eaf4f7 !important;
  color:#10213e !important;
  border-color:#c9dfe8 !important;
}
.elementor-menu-cart__footer-buttons .elementor-button:hover,
.e-wc-menu-cart__footer-buttons .elementor-button:hover,
.elementor-menu-cart__footer-buttons a:hover,
.e-wc-menu-cart__footer-buttons a:hover {
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(16,33,62,.12) !important;
}

.elementor-menu-cart__empty-message,
.e-wc-menu-cart__empty-message {
  background:#fff !important;
  color:#10213e !important;
  border:1px solid #e8e3da !important;
  border-radius:16px !important;
  padding:24px !important;
  text-align:center !important;
}

@media (max-width: 767px) {
  .elementor-menu-cart__main,
  .e-wc-menu-cart__main {
    width:min(390px, 94vw) !important;
    max-width:94vw !important;
    padding:22px 16px 20px !important;
  }
  .elementor-menu-cart__product,
  .e-wc-menu-cart__product {
    grid-template-columns:82px minmax(0,1fr) 26px !important;
    gap:12px !important;
    padding:13px !important;
  }
  .elementor-menu-cart__product-image,
  .e-wc-menu-cart__product-image {
    width:82px !important;
    min-width:82px !important;
  }
  .elementor-menu-cart__product-image img,
  .e-wc-menu-cart__product-image img { height:82px !important; }
  .elementor-menu-cart__product-name,
  .e-wc-menu-cart__product-name { font-size:15px !important; }
  .elementor-menu-cart__product-price,
  .e-wc-menu-cart__product-price { font-size:13px !important; }
  .elementor-menu-cart__footer-buttons,
  .e-wc-menu-cart__footer-buttons { grid-template-columns:1fr !important; }
}

/* =========================================================
   v2.3.4 Legacy Elementor mini-cart markup used by this header.
   The drawer exists site-wide and uses WooCommerce mini-cart classes.
   ========================================================= */
.elementor-menu-cart__main .widget_shopping_cart_content {
  color:#10213e !important;
  font-family:"Nunito Sans",sans-serif !important;
}
.elementor-menu-cart__main .wp-woo-mini-cart,
.elementor-menu-cart__main ul.woocommerce-mini-cart {
  display:grid !important;
  gap:14px !important;
  margin:20px 0 !important;
  padding:0 !important;
  list-style:none !important;
}
.elementor-menu-cart__main .wp-woo-mini-cart > li,
.elementor-menu-cart__main li.woocommerce-mini-cart-item {
  position:relative !important;
  display:grid !important;
  grid-template-columns:96px minmax(0,1fr) 28px !important;
  grid-template-areas:"image details remove" !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 !important;
  padding:14px !important;
  list-style:none !important;
  background:#fff !important;
  border:1px solid #e8e3da !important;
  border-radius:18px !important;
  box-shadow:0 8px 24px rgba(16,33,62,.06) !important;
}
.elementor-menu-cart__main .wp-woo-mini-cart > li::marker,
.elementor-menu-cart__main li.woocommerce-mini-cart-item::marker {
  content:"" !important;
  font-size:0 !important;
}
.elementor-menu-cart__main .wp-mini-cart-image {
  grid-area:image !important;
  width:96px !important;
  min-width:96px !important;
  margin:0 !important;
}
.elementor-menu-cart__main .wp-mini-cart-image a,
.elementor-menu-cart__main .wp-mini-cart-image img {
  display:block !important;
  width:100% !important;
}
.elementor-menu-cart__main .wp-mini-cart-image img {
  height:96px !important;
  object-fit:contain !important;
  border-radius:12px !important;
}
.elementor-menu-cart__main .wp-mini-cart-name-and-quantity {
  grid-area:details !important;
  min-width:0 !important;
  color:#10213e !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
.elementor-menu-cart__main .wp-mini-cart-name-and-quantity a {
  display:block !important;
  margin-bottom:4px !important;
  color:#10213e !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  text-decoration:none !important;
}
.elementor-menu-cart__main .wp-mini-cart-remove {
  grid-area:remove !important;
  align-self:start !important;
  justify-self:end !important;
}
.elementor-menu-cart__main .wp-mini-cart-remove a,
.elementor-menu-cart__main a.remove_from_cart_button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  padding:0 !important;
  border:1px solid #d9d4cb !important;
  border-radius:50% !important;
  background:#fdfbf4 !important;
  color:#10213e !important;
  font-size:18px !important;
  line-height:1 !important;
  text-decoration:none !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__total,
.elementor-menu-cart__main .total {
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin:0 !important;
  padding:18px 0 !important;
  border-top:1px solid #ddd7cd !important;
  border-bottom:1px solid #ddd7cd !important;
  color:#10213e !important;
  font-size:18px !important;
  font-weight:700 !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__buttons,
.elementor-menu-cart__main .buttons {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin:18px 0 0 !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__buttons a,
.elementor-menu-cart__main .buttons a {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  padding:14px 16px !important;
  border:1px solid #10213e !important;
  border-radius:12px !important;
  background:#10213e !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-decoration:none !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__buttons a:first-child,
.elementor-menu-cart__main .buttons a:first-child {
  border-color:#c9dfe8 !important;
  background:#eaf4f7 !important;
  color:#10213e !important;
}
@media (max-width:767px) {
  .elementor-menu-cart__main .wp-woo-mini-cart > li,
  .elementor-menu-cart__main li.woocommerce-mini-cart-item {
    grid-template-columns:76px minmax(0,1fr) 26px !important;
    gap:11px !important;
    padding:12px !important;
  }
  .elementor-menu-cart__main .wp-mini-cart-image {
    width:76px !important;
    min-width:76px !important;
  }
  .elementor-menu-cart__main .wp-mini-cart-image img { height:76px !important; }
  .elementor-menu-cart__main .wp-mini-cart-name-and-quantity,
  .elementor-menu-cart__main .wp-mini-cart-name-and-quantity a { font-size:14px !important; }
  .elementor-menu-cart__main .woocommerce-mini-cart__buttons,
  .elementor-menu-cart__main .buttons { grid-template-columns:1fr !important; }
}


/* =========================================================
   v2.3.5 Mini-cart product-card alignment correction.
   Force a compact horizontal layout and neutralize legacy widths.
   ========================================================= */
.elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
.elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  display:grid !important;
  grid-template-columns:128px minmax(0,1fr) !important;
  grid-template-areas:"image details" !important;
  align-items:center !important;
  column-gap:22px !important;
  min-height:0 !important;
  padding:22px 52px 22px 22px !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image {
  grid-area:image !important;
  width:128px !important;
  min-width:128px !important;
  max-width:128px !important;
  height:128px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  position:static !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
  width:128px !important;
  max-width:128px !important;
  height:128px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  object-fit:contain !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity {
  grid-area:details !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  align-self:center !important;
  text-align:left !important;
  overflow-wrap:anywhere !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity a {
  margin:0 0 6px !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
@media (max-width:767px) {
  .elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
  .elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    grid-template-columns:92px minmax(0,1fr) !important;
    column-gap:14px !important;
    padding:16px 44px 16px 16px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
    width:92px !important;
    min-width:92px !important;
    max-width:92px !important;
    height:92px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
    top:12px !important;
    right:12px !important;
  }
}

/* =========================================================
   v2.3.6 Mini-cart card visual refinement.
   Center product art, pin remove control, and refine title type.
   ========================================================= */
.elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
.elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  grid-template-areas:
    "image"
    "details" !important;
  row-gap:18px !important;
  padding:28px 54px 24px 28px !important;
  align-items:start !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image {
  grid-area:image !important;
  justify-self:center !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:170px !important;
  margin:0 auto !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
  display:block !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:170px !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity {
  grid-area:details !important;
  width:100% !important;
  align-self:start !important;
  text-align:left !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity > a {
  display:block !important;
  margin:0 0 6px !important;
  font-family:"DM Serif Display", Georgia, serif !important;
  font-size:22px !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  color:#10213e !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  z-index:3 !important;
}
@media (max-width:767px) {
  .elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
  .elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    row-gap:14px !important;
    padding:22px 46px 20px 20px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
    width:138px !important;
    min-width:138px !important;
    max-width:138px !important;
    height:138px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity > a {
    font-size:20px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
    top:10px !important;
    right:10px !important;
  }
}

/* =========================================================
   v2.3.7 Compact mini-cart product cards.
   Fit more items in the drawer while keeping product art centered
   and the marketing title prominent.
   ========================================================= */
.elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
.elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  display:grid !important;
  grid-template-columns:120px minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  grid-template-areas:"image details" !important;
  column-gap:18px !important;
  row-gap:0 !important;
  min-height:158px !important;
  padding:18px 46px 18px 18px !important;
  align-items:center !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image {
  grid-area:image !important;
  align-self:center !important;
  justify-self:center !important;
  width:120px !important;
  min-width:120px !important;
  max-width:120px !important;
  height:120px !important;
  margin:0 !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
  display:block !important;
  width:120px !important;
  min-width:120px !important;
  max-width:120px !important;
  height:120px !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity {
  grid-area:details !important;
  align-self:center !important;
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  text-align:left !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity > a {
  display:block !important;
  margin:0 0 7px !important;
  font-family:"DM Serif Display", Georgia, serif !important;
  font-size:24px !important;
  line-height:1.12 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  color:#10213e !important;
  overflow-wrap:anywhere !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  z-index:4 !important;
}
@media (max-width:767px) {
  .elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
  .elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    grid-template-columns:96px minmax(0,1fr) !important;
    column-gap:14px !important;
    min-height:132px !important;
    padding:15px 40px 15px 15px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    height:96px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity > a {
    font-size:21px !important;
    line-height:1.12 !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
    top:8px !important;
    right:8px !important;
  }
}


/* =========================================================
   v2.3.8 Mobile cart cleanup and resilient recommendations.
   ========================================================= */
@media (max-width: 767px) {
  /* Remove the native table/card outlines that sit behind the custom card. */
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table td {
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table::before,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table::after,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr::before,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr::after {
    display:none !important;
    content:none !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
    border:1px solid #e7e2d8 !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  /* Give the savings label its own breathing room above the quantity control. */
  body.woocommerce-cart .woocommerce-cart-form .product-quantity {
    margin-top:30px !important;
    align-self:end !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .product-subtotal,
  body.woocommerce-cart .woocommerce-cart-form .fge-cart-final-price {
    margin-top:10px !important;
  }
  /* Mobile recommendations: one clean horizontal card per row. */
  body.woocommerce-cart .fge-cart-cross-sells {
    width:auto !important;
    max-width:none !important;
    margin:34px 16px 0 !important;
  }
  body.woocommerce-cart .fge-cart-cross-sells__title,
  body.woocommerce-cart .fge-cart-cross-sells h2 {
    font-size:30px !important;
    line-height:1.08 !important;
  }
  body.woocommerce-cart .fge-cart-cross-sells__grid {
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
  }
  body.woocommerce-cart .fge-cart-cross-sell {
    grid-template-columns:112px minmax(0,1fr) !important;
    min-height:138px !important;
    gap:14px !important;
    padding:14px !important;
  }
  body.woocommerce-cart .fge-cart-cross-sell__image {
    width:112px !important;
    height:112px !important;
  }
  body.woocommerce-cart .fge-cart-cross-sell__image img {
    object-fit:contain !important;
  }
  body.woocommerce-cart .fge-cart-cross-sell__title {
    font-family:"DM Serif Display", Georgia, serif !important;
    font-size:21px !important;
    line-height:1.12 !important;
  }
  body.woocommerce-cart .fge-cart-cross-sell__bottom {
    align-items:center !important;
    gap:8px !important;
  }
  body.woocommerce-cart .fge-cart-cross-sell__add {
    padding:9px 12px !important;
    border:1px solid #d8e8ef !important;
    border-radius:10px !important;
    background:#eaf4f7 !important;
  }
}

/* =========================================================
   v2.3.9 Cart trust artwork, clean mobile card, and savings restore.
   ========================================================= */
body.woocommerce-cart .fge-cart-trust-item__icon {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px !important;
  min-width:24px !important;
  height:24px !important;
  color:transparent !important;
  font-size:0 !important;
}
body.woocommerce-cart .fge-cart-trust-item__icon img {
  display:block !important;
  width:24px !important;
  height:24px !important;
  max-width:24px !important;
  object-fit:contain !important;
}

@media (max-width:767px) {
  /* The white custom card remains; remove the larger native row outline behind it. */
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item::before,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item::after {
    content:none !important;
    display:none !important;
  }

  /* Keep price/savings together and clear of the quantity control on real phones. */
  body.woocommerce-cart .woocommerce-cart-form .fge-cart-final-price {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    min-height:78px !important;
    margin:18px 0 0 !important;
    padding:0 !important;
    position:relative !important;
    z-index:2 !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .fge-cart-final-price__save,
  body.woocommerce-cart .woocommerce-cart-form .fge-cart-line-total__save {
    display:block !important;
    max-width:190px !important;
    color:#3196d1 !important;
    font:800 13px/1.25 "Nunito Sans", sans-serif !important;
    text-align:right !important;
    white-space:normal !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .product-quantity {
    margin-top:48px !important;
    align-self:end !important;
  }
}


/* v2.4.0: hide duplicate native checkout fragments while AJAX recovery moves them. */
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout form.checkout > #order_review_heading {
  display:none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout [data-fge-summary-slot] > #order_review {
  display:block !important;
  width:100% !important;
  float:none !important;
}

/* =========================================================
   v2.4.5 Compact returning-customer and coupon access row.
   ========================================================= */
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	max-width: 100%;
	margin: 0 0 24px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row > .woocommerce-form-login-toggle,
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row > .woocommerce-form-coupon-toggle {
	margin: 0 !important;
	min-width: 0;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row .woocommerce-info {
	display: flex;
	align-items: center;
	min-height: 54px;
	margin: 0 !important;
	padding: 13px 18px 13px 46px !important;
	border: 1px solid #d9e3e8 !important;
	border-radius: 14px !important;
	background: #f5f8fa !important;
	color: #37445a !important;
	font-size: 15px !important;
	line-height: 1.35 !important;
	box-shadow: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row .woocommerce-info::before {
	left: 18px !important;
	top: 50% !important;
	transform: translateY(-50%);
	color: #3196d1 !important;
	font-size: 17px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row .woocommerce-info a {
	color: #10213e !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row .woocommerce-info a:hover {
	color: #3196d1 !important;
}
@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-bottom: 18px !important;
	}
	body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row .woocommerce-info {
		min-height: 48px;
		padding: 11px 14px 11px 42px !important;
		font-size: 14px !important;
	}
	body.woocommerce-checkout:not(.woocommerce-order-received) .fge-checkout-access-row .woocommerce-info::before {
		left: 15px !important;
	}
}
