
/* ---------------------------------- */
/* @WOOCOMMERCE */	

.woocommerce {

	--delete--color: #b20000;

	--in-stock--color: #198754;
	--backorder--color: #198754;
	--out-of-stock--color: #b20000;
}

.woocommerce-notices-wrapper p {

	margin: 0;
}

/* form */

.woocommerce form .form-row {

	clear: both;
	width: 100%;
	margin-bottom: var(--form-field--margin);
	padding: var(--form-field--padding);
}

.woocommerce form > p:not(.form-row) {

	margin-bottom: 1em !important; /* additional text in the form */
}

.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form .select2-container .select2-selection--single {

	width: var(--input--width);
	padding: var(--input--padding);
	border: var(--input--border);
	border-radius: var(--input--border-radius); 
	background-color: var(--input--background-color);
	box-shadow: var(--input--box-shadow);
	transition: all .2s ease-in-out;
	outline: none; 
}

.woocommerce form .woocommerce-invalid .input-text,
.woocommerce form .woocommerce-invalid select,
.woocommerce form .woocommerce-invalid .select2-container .select2-selection--single {

	--input--border: var(--input--border-error);
}

.woocommerce form input.input-text,
.woocommerce form select,
.woocommerce form .select2-container .select2-selection--single .select2-selection__rendered {

	line-height: var(--input--line-height);
}

.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form .select2-container .select2-selection--single:focus {

	padding: var(--input--padding-focus);
	box-shadow: var(--input--box-shadow-focus);
	border: var(--input--border-focus);
}

.woocommerce form .select2-container {

	display: block;
}

.woocommerce form .select2-container .select2-results .select2-results__option {

	padding-left: .5em;
}

.woocommerce form .select2-container .select2-selection--single {

	height: auto;
	margin: 0;
}

.woocommerce form .select2-selection__placeholder {

	color: var(--input--color-placeholder);
}
							
.woocommerce form textarea.input-text {

	height: 100px;
}

.woocommerce form select {

	appearance: none;
	padding-right: 18px;
	width: auto;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC);
	background-repeat: no-repeat;
	background-position: right 6px center;
	background-size: 8px 10px;
}

.woocommerce form select:focus {

	padding-right: 18px;
}

.woocommerce form .button {

	float: right;
}

.woocommerce form fieldset {

	border: 0 none;
}

.woocommerce form fieldset legend {  /* same as h3 */

	font-size: var(--global--font-size-7);
	font-weight: var(--heading--font-weight);
	line-height: var(--heading--line-height);
	color: var(--tertiary--color);
	margin-bottom: var(--heading--margin);
} 

.woocommerce form .required {

	color: var(--input--color-error);
	text-decoration: none;
	margin-left: -3px;
}

.woocommerce form .description {

	display: block;
	margin: .1em 0 0 0;
	color: var(--input-desc--color);
	font-size: var(--input-desc--font-size);
	font-style: var(--input-desc--font-style);
}

.woocommerce form .optional {

	display: none;
}

.woocommerce form .ngn-field-left,
.woocommerce-edit-account .woocommerce form .form-row-first,
.woocommerce-checkout form .form-row-first {

	width: 49%;
	float: left;
	margin-right: 1%;
}

.woocommerce form .ngn-field-right,
.woocommerce-edit-account .woocommerce form .form-row-last,
.woocommerce-checkout form .form-row-last {

	width: 50%;
	float: left;
	clear: none;
}

/* password display icon */

.woocommerce form .woocommerce-form-row .password-input {

	position: relative;
}

.woocommerce form .woocommerce-form-row .show-password-input {

	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: .3em;
	bottom: 0;
	cursor: pointer;
	transition: all .25s ease;
	border: none;
	background: none
}

.woocommerce form .woocommerce-form-row .show-password-input::before {

	font-family: "dashicons";
	content: "\f177";
}

.woocommerce form .woocommerce-form-row .show-password-input.display-password::before {

	content: "\f530";
}

/* table */

.woocommerce table.shop_table {

	width: 100%;
	text-align: left;
	margin-bottom: var(--block--margin);
	border-collapse: collapse;
}

/*.woocommerce table.shop_table thead { display: none; } */

.woocommerce table.shop_table thead th {

	font-weight: bold;
	background: var(--global--background-5);
	border: var(--global--border);
}

.woocommerce table.shop_table tr > * {

	padding: .5em;
	vertical-align: middle;
	font-weight: normal;
}

.woocommerce table.shop_table > tbody > tr > * {

	border-bottom: var(--global--border); /* maybe th as well as td */
}

.woocommerce table.shop_table tfoot tr:last-child > * {

	border: none;
}

.woocommerce table.shop_table tr > :last-child {

	text-align: right;
}

.woocommerce table.shop_table .wc-item-meta li {

	display: flex;
	align-items: center;
}

.woocommerce table.shop_table .wc-item-meta li strong {

	margin-right: .5em;
}

.woocommerce table.shop_table .button {

	margin-left: .3em;
	text-align: center;
}

@media only screen and (max-width: 1024px) {

	.woocommerce table.shop_table.shop_table_responsive,
	.woocommerce table.shop_table.shop_table_responsive tbody,
	.woocommerce table.shop_table.shop_table_responsive tfoot,
	.woocommerce table.shop_table.shop_table_responsive tr {

		display: block;
	}

	.woocommerce table.shop_table.shop_table_responsive th {

		display: none;
	}

	.woocommerce table.shop_table.shop_table_responsive tr {

		width: 100%;
		border-top: var(--global--border);
	}

	.woocommerce table.shop_table.shop_table_responsive tr:first-child {

		border-top: none;
	}

	.woocommerce table.shop_table.shop_table_responsive tr td {

		display: flex;
		flex-wrap: wrap;
		align-items: center;
		border: none;
		text-align: left !important;
	}

	.woocommerce table.shop_table.shop_table_responsive td::before {

		content: attr(data-title);
		text-transform: uppercase;
		font-size: .8em;
		font-weight: bold;
		flex: 1 1 auto;
	}

	.woocommerce table.shop_table .button {

		font-size: .8em;
	}
}

/* ---------------------------------- */
/* @OVERLAY */

.blockUI.blockOverlay {

	position: relative;
	background-color: #fff !important;
	z-index: 997 !important;
}

.blockUI.blockOverlay::after {

	content: '';
	display: block;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	margin: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: animation-spin 500ms infinite linear;
	border: 1px solid #333;
	border-radius: 32px;
	border-right-color: transparent !important;
	border-top-color: transparent !important;
}

.blockUI.blockMsg {

	padding: .5em !important;
	background: var(--background--alt) !important;
	border: var(--global--border) !important;
}

/* ---------------------------------- */
/* @MESSAGES */

.wc-block-components-notice-banner svg {

	display: none;
}

.woocommerce-error {

	list-style: none;
	margin-left: 0 !important;
}

/* message with button, added to basket, checkout login, checkout coupon, delete from basket undo */
.wc-block-components-notice-banner a,
.woocommerce-info a,
.woocommerce-message a,
.woocommerce-error a {

	font-weight: bold; 
}

.wc-block-components-notice-banner .button,
.woocommerce-info .button,
.woocommerce-message .button {

	font-weight: normal;
}

/* basket message button unset */
/*.woocommerce-message .wc-forward,
.woocommerce-error .wc-forward {

	background: transparent;
	border: none;
	box-shadow: none;
	text-shadow: none;
	text-transform: none;
	line-height: initial;
	display: inline;
	padding: 0;
	margin-left: .3em;
}*/

/* ---------------------------------- */
/* @MY ACCOUNT */

/* navigations */

.woocommerce .ngn-nav-dashboard {

	--nav-item--background-color-hover: rgba(0, 0, 0, 0.02);
	--nav-item--box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);

	--nav-item--text-transform: uppercase;
	--nav-item--text-align: center;

	--nav-item--padding: 1em;

	--nav-item--gap: 10px;
	--nav-item--justify-content: start;
	--nav-item--flex: 1 0 100px;

	--icon--margin: 0 0 .2em 0;
	--icon--display: block;
	--icon--font-size: 3em;
}

/* no results */

.woocommerce-empty .ngn-content-header {

	display: none; /* title */
} 

.woocommerce-empty .woocommerce-info,
.woocommerce-empty .wc-block-components-notice-banner { 

	margin-top: var(--block--margin);
	display: flex;
	flex-direction: column; 
	text-align: center; 
	padding: 0; 
	border: none; 
	background: none; 
	color: inherit; 
}

.woocommerce-empty .woocommerce-info p,
.woocommerce-empty .wc-block-components-notice-banner p {

	font-size: 24px;
}

.woocommerce-empty .woocommerce-info .button,
.woocommerce-empty .wc-block-components-notice-banner button {

	margin-left: auto;
	margin-right: auto;
}

.woocommerce-empty .woocommerce-info::before,
.woocommerce-empty .wc-block-components-notice-banner::before {

	font-size: 180px;
	line-height: 1em;
	margin: auto;
	margin-bottom: 20px;
	opacity: 0.2;
	color: inherit;
}

.woocommerce-empty-cart .wc-empty-cart-message .woocommerce-info::before,
.woocommerce-empty-cart .wc-empty-cart-message .wc-block-components-notice-banner::before {

	content: '\f07a';
}

.woocommerce-empty-orders .woocommerce-info::before,
.woocommerce-empty-orders .wc-block-components-notice-banner::before {

	content: '\f79c';
}

.woocommerce-empty-downloads .woocommerce-info::before,
.woocommerce-empty-downloads .wc-block-components-notice-banner::before {

	content: '\f019';
}

.woocommerce-empty-payment-methods .woocommerce-info::before,
.woocommerce-empty-payment-methods .wc-block-components-notice-banner::before {

	content: '\f09d';
}

.woocommerce-empty-cart .woocommerce .return-to-shop {

	text-align: center;
}

/* address */

.woocommerce .ngn-address {

	display: inline-block;
}

.woocommerce .ngn-address form .button {

	margin-top: var(--block--margin);
}

.woocommerce .ngn-address form #billing_country_field strong,
.woocommerce .ngn-address form #shipping_country_field strong {

	display: block;
}

@media only screen and (min-width: 1024px) {

	.woocommerce .ngn-address {

		width: 49%;
		float: left;
	}

	.woocommerce .ngn-address-billing {

		margin-right: 1%;
	}

	.woocommerce .ngn-address-shipping {

		margin-left: 1%;
	}
}

/* account edit */

body.woocommerce-edit-account form.edit-account {

	max-width: 600px;
}

body.woocommerce-edit-account form.edit-account fieldset {

	margin-top: var(--block--margin);
}

body.woocommerce-edit-account form.edit-account .button {

	margin-top: var(--block--margin);
}

/* ---------------------------------- */
/* @LOGIN */

.woocommerce #customer_login {

	display: flex;
}

.woocommerce .lost_password {

	margin-top: -10px;
}

.woocommerce #customer_login .woocommerce-privacy-policy-text {

	margin-bottom: .5em;
}

/*@media only screen and (min-width: 1024px) {

	.woocommerce .lost_password {

		margin-top: -42px;
		margin-left: 140px;
	}
}*/

@media only screen and (min-width: 768px) {

	.woocommerce #customer_login .col-1 {

		width: 50%;
		padding-right: 1em;
	}

	.woocommerce #customer_login .col-2 {

		width: 50%;
		padding-left: 1em;
	}
}

@media only screen and (max-width: 768px) {

	.woocommerce #customer_login {

		flex-wrap: wrap;
	}

	.woocommerce #customer_login > * {

		width: 100%;
	}

	.woocommerce #customer_login .button {

		min-width: 30%;
	}
}

@media only screen and (max-width: 375px) {

	.woocommerce #customer_login .button {

		width: 100%;
	}
}

/* ---------------------------------- */
/* @PASSWORD */

.woocommerce-lost-password .lost_reset_password {

	max-width: 470px;
}

/* ---------------------------------- */
/* @CART/ORDER TOTAL */

.woocommerce .cart_totals table.shop_table tr.order-total > *,
.woocommerce-checkout .woocommerce-checkout-review-order tr.order-total > *,
body.woocommerce-order-pay table.shop_table tfoot > tr:last-child > *,
body.woocommerce-view-order table.shop_table tfoot > tr:last-child > *,
.ngn-mini-cart .total .amount {

	font-size: 1.2em;
	font-weight: bold;
	text-transform: uppercase;
}

.woocommerce .cart_totals table.shop_table tr.order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order tr.order-total td,
body.woocommerce-order-pay table.shop_table tfoot > tr:last-child .product-total,
body.woocommerce-view-order table.shop_table tfoot > tr:last-child td,
.ngn-mini-cart .total .amount {

	color: var(--strike--color);
}

/* ---------------------------------- */
/* @CHECKOUT */

.woocommerce-checkout form.woocommerce-form-coupon,
.woocommerce-checkout form.woocommerce-form-login { 

	display: inline-block;
	width: 100%;
	padding: .5em;
	margin-bottom: var(--block--margin);
	background: var(--background-alt--color);
	border: var(--global--border); 
}

.woocommerce-checkout form.woocommerce-form-coupon button {

	float: none;
}

.woocommerce-checkout form.woocommerce-checkout #billing_country_field strong,
.woocommerce-checkout form.woocommerce-checkout #shipping_country_field strong {

	display: block;
}

.woocommerce-checkout .woocommerce-shipping-fields .shipping_address {

	overflow: hidden;
}

.woocommerce-checkout #customer_details > *,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address {

	margin-bottom: var(--block--margin);
}

.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {

	display: inline-block;
	width: 100%;
}

.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address {

	font-size: inherit; text-transform: inherit;
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table {

	border: var(--global--border); padding: 0 .2em; background: var(--background-alt--color);
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tr > * {

	padding: .5em;
}

.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-shipping-methods {

	list-style: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-shipping-methods input.shipping_method {

	margin-right: .2em;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {

	margin-bottom: var(--form-field--margin);
}

.woocommerce-checkout .ngn-shipping-message {

	font-size: .8em;
}

.woocommerce-checkout .ngn-shipping-warning {

	color: var(--input--color-error);
}

@media only screen and (max-width: 768px) {

	.woocommerce-checkout form.woocommerce-form-login .form-row {

		width: 100%;
		float: none;
	}
}

@media only screen and (min-width: 1024px) {

	.woocommerce-checkout form.woocommerce-form-coupon,
	.woocommerce-checkout form.woocommerce-form-login {

		width: 50%;
	}

	.woocommerce-checkout #customer_details {

		width: 50%;
		float: left;
		padding-right: var(--block--padding);
	}

	.woocommerce-checkout .woocommerce-checkout-review-order {

		width: 50%;
		float: left;
	}
}

@media only screen and (max-width: 375px) {

	.woocommerce-checkout .woocommerce-checkout-review-order #place_order {

		width: 100%; 
	}
}

/* ---------------------------------- */
/* @CHECKOUT T&C */

.woocommerce-checkout .woocommerce-terms-and-conditions {

	font-size: .8em;
	padding-right: 5px;
	margin-bottom: var(--form-field--margin);
}

.woocommerce-checkout .woocommerce-terms-and-conditions h2 {

	font-size: 1.5em;
}

.woocommerce-checkout .woocommerce-terms-and-conditions h3 {

	font-size: 1.2em;
}

/* ---------------------------------- */
/* @ORDERS */

/*body.woocommerce-orders table.shop_table thead { display: table-header-group; } */

body.woocommerce-orders table.shop_table .woocommerce-orders-table__header-order-actions span {

	display: none; 
}

body.woocommerce-orders table.shop_table .amount {

	font-weight: bold;
	margin-right: .2em;
	color: var(--strike--color);
}

/* ---------------------------------- */
/* @ORDER PAY */

body.woocommerce-order-pay .woocommerce-form-payment .button {

	float: left;
	margin-right: .5em;
}

/* Global pay only */
body.woocommerce-order-pay .iframe-payment {

	display: block; /* to help cancel button */
} 

/* ---------------------------------- */
/* @ORDER VIEW */

body.woocommerce-view-order .woocommerce mark {

	color: inherit;
	background: none;
	font-weight: bold;
}

body.woocommerce-view-order .woocommerce mark.order-status {

	color: var(--primary--color);
	text-transform: uppercase;
}

body.woocommerce-view-order .woocommerce .button {

	float: right;
	text-align: center;
}

@media only screen and (max-width: 375px) {

	body.woocommerce-view-order .woocommerce .button {

		width: 100%;
		float: none;
	}
}

/* ---------------------------------- */
/* @PAYMENT METHODS - Used in Checkout and Order Pay */

.woocommerce .payment_methods {

	list-style: none;
}

.woocommerce .payment_methods li {

	margin-bottom: var(--form-field--margin);
}

.woocommerce .payment_methods li label img {

	height: 24px;
}

.woocommerce .payment_methods li label > * {

	margin-left: .5em;
}

.woocommerce .payment_methods li .payment_box {

	margin-left: 18px;
	font-size: .8em;
	font-style: italic;
}

/* ---------------------------------- */
/* @ORDER RECEIVED */

body.woocommerce-order-received .woocommerce-thankyou-order-failed-actions {

	border: none;
	background: transparent;
	padding: 0;
	margin: 0; 
}

body.woocommerce-order-received .woocommerce-thankyou-order-failed-actions::before { 

	content: ''; 
}

body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .wc-bacs-bank-details { 

	list-style: none; 
	margin-bottom: var(--block--margin); 
}

/* ---------------------------------- */
/* @ORDER CUSTOMER DETAILS - Used in Order View and Order Received */

.woocommerce-customer-details {

	overflow: hidden;
}

.woocommerce-customer-details address {

	line-height: var(--global--line-height-4);
}

.woocommerce-customer-details address p:not(:last-child) {

	margin: 0;
}

.woocommerce-customer-details address p:first-of-type {

	margin: .5em 0 0 0 !important;
}

.woocommerce-customer-details .addresses > * {

	margin-bottom: var(--block--margin);
}

@media only screen and (min-width: 1024px) {

	.woocommerce-customer-details .addresses .col-1 {

		width: 49%;
		float: left;
		margin-right: 1%;
	}

	.woocommerce-customer-details .addresses .col-2 {

		width: 49%;
		float: left;
		margin-left: 1%;
	}
}

/* ---------------------------------- */
/* @PRODUCTS */

.ngn-post-type-product {
	
	--sale--color: #fff;
	--sale--background: #f7941d;
}

.ngn-post-type-product .button.added::after {

	content: '\f00c';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-left: .5em;
	vertical-align: bottom;
}

.ngn-post-type-product a.added_to_cart {

	display: none;
} 

/* sale */

.ngn-post-type-product .onsale { 

	position: absolute;
	z-index: 1;
	width: 3em;
	height: 3em;
	line-height: 2em;
	padding-top: .5em;
	text-align: center;
	border-radius: 100%; 
	color: var(--sale--color);
	background: var(--sale--background); 
}

.ngn-single-product .onsale {

	left: 0;
	top: 0;
}

.ngn-post-type-product.sale .ngn-link-has-thumb {

	position: relative;
}

.ngn-post-type-product.sale .ngn-link-has-thumb .onsale {

	top: 0;
	right: 0;
}

/* price */

.ngn-post-type-product .price ins {

	text-decoration: none;
}

.ngn-post-type-product .price .from {

	margin-right: .3em;
}

.ngn-post-type-product .price .amount,
.ngn-single-product .price .amount,
.ngn-single-product .variations_form .price .amount,
.ngn-single-product .bundle_form .price .amount {

	font-size: 1.2em;
	color: var(--strike--color);
}

.ngn-single-product .price del,
.ngn-single-product .price del .amount,
.ngn-post-type-product .price del,
.ngn-post-type-product .price del .amount {

	color: #999 !important;
}

/* single */

.ngn-single-product .ngn-single-content {

	position: relative;
}

.ngn-single-product .ngn-single-content > :not(:last-child) {

	margin-bottom: var(--block--margin);
}

.ngn-single-product .onsale {

	top: 0px;
	left: 0px;
}

.ngn-single-product .entry-summary {

	clear: both;
}

.ngn-single-product .entry-summary > * { 

	--block--margin: var(--global--size-l);
	--block--padding: var(--global--size-l);
}

.ngn-single-product .ngn-product-header {

	margin-bottom: 0 !important;
	font-size: var(--global--font-size-3);
}

.ngn-single-product .ngn-product-top {

	display: flex;
	align-items: center;
	padding-bottom: var(--block--padding);
	border-bottom: var(--global--border);
}

.ngn-single-product .ngn-product-top .ngn-product-brands {

	margin-right: 2em;
}

.ngn-single-product .ngn-product-top .ngn-product-brands img {

	height: 48px;
	width: auto;
	margin-right: var(--block--margin);
}

/* availability */

.ngn-single-product .stock {

	font-weight: bold;
}

.ngn-single-product .stock.in-stock {

	color: var(--in-stock--color);
}

.ngn-single-product .stock.out-of-stock {

	color: var(--out-of-stock--color);
}

.ngn-single-product .stock.backorder {

	color: var(--backorder--color);
}

.ngn-single-product .ngn-product-stock {

	display: flex;
	align-items: center;
}

.ngn-single-product .ngn-product-stock span {

	margin-right: var(--block--margin);
}

.ngn-single-product .entry-summary > .stock,
.ngn-single-product .woocommerce-variation-availability,
.ngn-single-product .bundle_availability {

	display: none;
}

/* meta */

.ngn-single-product .ngn-product-meta {

	clear: both;
	margin-top: var(--global--size-xxl);
}

.ngn-single-product .ngn-product-meta dl {

	display: flex;
}

.ngn-single-product .ngn-product-meta dt {

	font-weight: bold;
	margin-right: var(--block--margin);
}

@media only screen and (min-width: 1024px) {

	.ngn-single-product .entry-summary {

		clear: none;
		float: right;
		width: 60%;
}
} 

/* inner elements margins */

.ngn-single-product .entry-summary > :not(:last-child),
.ngn-single-product .variations_form > :not(:last-child),
.ngn-single-product .variations_form .woocommerce-variation > *,
.ngn-single-product .bundle_wrap > :not(:last-child),
.ngn-single-product .bundle_form > :not(:last-child),
.ngn-single-product .bundled_product .details > :not(:last-child),
.ngn-single-product .ngn-product-meta dl:not(:last-child) {

	margin-bottom: var(--block--margin);
}

/* add to cart quantity & button */

.ngn-single-product form.cart .quantity {

	width: 60px;
}

.ngn-single-product form.cart > .quantity,
.ngn-single-product form.cart.variations_form > .single_variation_wrap > .woocommerce-variation-add-to-cart > .quantity,
.ngn-single-product form.cart.bundle_form > .bundle_data .bundle_button .quantity {

	float: left;
	margin-right: var(--block--margin);
}

.ngn-single-product form.cart > .button,
.ngn-single-product form.cart.variations_form > .single_variation_wrap > .woocommerce-variation-add-to-cart > .button,
.ngn-single-product form.cart.bundle_form > .bundle_data .bundle_button .button {

	float: none;
}

.ngn-single-product .bundle_wrap .bundle_button,
.ngn-single-product .variations_button,
.ngn-single-product .product-type-simple form.cart {

	display: flex;
}

/* variations */

.ngn-single-product table.variations th.label {

	text-align: right;
}

.ngn-single-product table.variations th.label label {

	margin-right: var(--block--margin);
}

.ngn-single-product table.variations tr > * {

	padding: var(--block--padding) 0;
}

.ngn-single-product table.variations .reset_variations {

	margin-left: var(--block--margin);
}

/* bundled */

.summary-add-to-cart-form-bundle { /* when displayed after tabs */

	clear: both;

	margin-bottom: var(--block--margin);
} 

.ngn-single-product ul.bundled_products {

	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-row-gap: 20px;
	grid-column-gap: 20px;
}

.ngn-single-product div.bundled_product,
.ngn-single-product li.bundled_product {

	display: flex;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	padding-bottom: var(--block--padding);
}

.ngn-single-product .bundled_product .details {

	font-size: var(--global--font-size-3);
}

.ngn-single-product .bundled_product .details > .bundled_product_title {

	color: #333e48;
	font-weight: 600;
	font-size: var(--global--font-size-4);
	display: flex;
	align-items: center;
}

.ngn-single-product .bundled_product .details > .bundled_product_title .bundled_product_title_inner {

	order: 1;
}

.ngn-single-product .bundled_product .details > .bundled_product_title .bundled_product_title_link {

	width: 1em;
}

.ngn-single-product .bundled_product .details > .bundled_product_title .bundled_product_permalink {

	position: relative;
	display: block;
}

.ngn-single-product .bundled_product .details > .bundled_product_title .bundled_product_permalink::before {

	content: '\f35d';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	font-size: 0.7em;
	top: 50%;
	transform: translateY(-46%); 
}

.ngn-single-product .bundled_product .details > .bundled_product_excerpt p {

	line-height: var(--global--line-height-3);
}

.ngn-single-product .bundled_product .details > .stock.out-of-stock {

	display: inline;
	margin-left: var(--block--margin);
} 

.ngn-single-product .bundled_product .details > .bundled_product_optional_checkbox {

	display: block;
}

.ngn-single-product .bundled_product .quantity_hidden {

	display: none;
}

.ngn-single-product .bundle_error .msg {

	list-style: none;
}

.ngn-single-product .bundled_product .details > .bundled_product_optional_checkbox .price,
.ngn-single-product .bundle_form .variations_form > .single_variation_wrap .price {

	font-size: inherit;
	color: var(--strike--color);
}

/* bundled standard layout */

.ngn-single-product div.bundled_product > .bundled_product_images {

	flex: 0 0 86px;
	margin-right: var(--block--margin);
}

.ngn-single-product div.bundled_product:not(.ngn-bundled-item-variable) .details > .bundled_product_optional_checkbox {

	float: left;
}

.ngn-single-product div.bundled_product:not(.ngn-bundled-item-variable) .details > .cart {

	float: left;
	margin-left: var(--block--margin);
}

/* bundled grid layout */

.ngn-single-product li.bundled_product > .bundled_product_images {

	width: 64px;
	margin-right: var(--block--margin);
}

.ngn-single-product li.bundled_product .details {

	flex: 1;
}

/* bundled table layout */

.ngn-single-product .bundled_products thead {

	display: table-header-group !important;
}

.ngn-single-product .bundled_products thead th {

	text-align: left;
	line-height: var(--global--line-height-5);
}

.ngn-single-product .bundled_products .bundled_item_images_head {

	width: 18%;
}

.ngn-single-product .bundled_products .bundled_item_images_col {

	padding-right: 15px;
	vertical-align: top;
}

/* bundled variations */

.ngn-single-product .bundle_form .bundled_product div.variations_form .price {

	margin: 0;
}

.ngn-single-product .bundle_form.layout_default .bundled_product div.variations_form tr.attribute_options,
.ngn-single-product .bundle_form.layout_grid .bundled_product div.variations_form tr.attribute_options {

	display: flex;
	flex-wrap: wrap;
	gap: var(--block--margin);
}

/* bundled in cart & account order details */

.bundled_table_item {

	font-size: 85%;
}

.bundled_table_item .bundled_table_item_indent:before { 

	font-family:'Font Awesome 5 Free';
	font-weight: 900;
	display: inline-block;
	transform: rotate(90deg);
	content:"\f3bf";
	margin-right: .1em;
	opacity: .25; 
}

.bundled_table_item .bundled_table_item_indent ul {

	list-style: none;
}

.bundled_table_item .bundled_table_item_subtotal {

	display: flex;
	flex-direction: column;
}

.bundled_table_item .bundled-product-name .variation, 
.bundled_table_item .bundled-product-name .wc-item-meta li {

	display: flex;
	align-items: center;
}

.bundled_table_item .bundled-product-name .variation dt,
.bundled_table_item .bundled-product-name .wc-item-meta strong.wc-item-meta-label {

	margin-right: .5em;
}

.bundled_table_item .bundled-product-name .wc-item-meta strong.wc-item-meta-label {

	font-weight: normal;
}

.bundled_table_item .bundled-product-name .variation dd,
.bundled_table_item .bundled-product-name .wc-item-meta p {

	font-weight: bold;
}


/* gallery */

.woocommerce-product-gallery {

	position: relative;
}

.woocommerce-product-gallery .woocommerce-product-gallery__trigger {

	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.woocommerce-product-gallery {

	position: relative;
	overflow: hidden;
	text-align: center;
}

.woocommerce-product-gallery .flex-viewport {

	margin-bottom: var(--block--margin);
	min-height: 300px;
}

.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {

	height: 100%;
}

.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {

	height: 100%;
}

.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image a {

	height: 100%;
	display: block;
	position: relative; 
}

.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: auto;
	height: auto;
	max-height: 100%;
	max-width: 100%; 
}

.woocommerce-product-gallery .flex-control-thumbs {

	list-style: none;
	display: none;
}

.woocommerce-product-gallery .flex-control-thumbs li {

	cursor: pointer;
	border: var(--global--border);
	width: 112px;
	float: left;
	margin: 0 .2em .2em 0;
}

.woocommerce-product-gallery .flex-control-thumbs li:last-child {

	margin-right: auto;
}
 
.woocommerce-product-gallery .flex-control-thumbs img {

	width: 100%;
}
 
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover {

	opacity: 0.5;
}

@media only screen and (min-width: 1024px) {

	.woocommerce-product-gallery {

		float: left;
		width: 37%;
		margin-right: 3%;
	}

	.woocommerce-product-gallery .flex-control-thumbs {
		display: block;
	}
} 

/* tabs */

.woocommerce-tabs { 

	--tab--bg-color: var(--global--color-10);

	--tab-active--text-color: #fff;
	--tab-active--bg-color: var(--primary--color);

	clear: both; 
}

.woocommerce-tabs .tabs {

	padding: 0 0 0 .5em;
	overflow: hidden;
	position: relative;
}

.woocommerce-tabs .tabs li { 

	border: var(--global--border);
	background-color: var(--tab--bg-color);
	display: inline-block;
	position: relative;
	z-index: 0;
	border-radius: 2px 2px 0 0;
	margin: 0 -3px;
	padding: 0 .5em; 
}

.woocommerce-tabs .tabs li a {

	display: block;
	padding: .3em 1em;
}

.woocommerce-tabs .tabs li.active {

	background: var(--tab-active--bg-color);
	z-index: 2;
	border-bottom-color: var(--tab-active--bg-color);
}

.woocommerce-tabs .tabs li.active a {

	color: var(--tab-active--text-color);
}

.woocommerce-tabs .tabs li.active::before {

	box-shadow: 2px 2px 0 var(--tab-active--bg-color);
}

.woocommerce-tabs .tabs li.active::after {

	box-shadow: -2px 2px 0 var(--tab-active--bg-color);
}

.woocommerce-tabs .tabs li::after,
.woocommerce-tabs .tabs li::before {

	border: var(--global--border);
	position: absolute;
	bottom: -1px;
	width: 5px;
	height: 5px;
	content: '';
	box-sizing: border-box;
}

.woocommerce-tabs .tabs li::before {

	left: -5px;
	border-radius: 0 0 4px 0;
	border-width: 0 1px 1px 0;
	box-shadow: 2px 2px 0 var(--tab--bg-color);
}

.woocommerce-tabs .tabs li::after {

	right: -5px;
	border-radius: 0 0 0 4px;
	border-width: 0 0 1px 1px;
	box-shadow:-2px 2px 0 var(--tab--bg-color);
}

.woocommerce-tabs .tabs::before {

	position: absolute;
	content:'';
	width: 100%;
	bottom: 0;
	left: 0;
	border-bottom: var(--global--border);
	z-index: 1;
}

.woocommerce-tabs .panel {

	padding-top: var(--block--padding);
}

/* attributes */

.woocommerce-tabs table.shop_attributes {

	width: 100%;
	border-top: 1px dotted rgba(0, 0, 0, .1);
	margin-bottom: 1.5em;
}

.woocommerce table.shop_attributes th {

	width: 150px;
	font-weight: bold;
	padding: .5em;
	border-top: 0;
	border-bottom: 1px dotted rgba(0, 0, 0, .1);
	margin: 0;
	line-height: 1.5;
}

.woocommerce table.shop_attributes td {

	font-style: italic;
	padding: 0;
	border-top: 0;
	border-bottom: 1px dotted rgba(0, 0, 0, .1);
	margin: 0;
	line-height: 1.5;
}

.woocommerce table.shop_attributes td p {

	margin: 0;
	padding: .5em 0;
}

/* related */

.woocommerce .related {

	clear: both;
}

/* shop panel */

.ngn-archive-panel .woocommerce-result-count {

	float: left;
	margin-bottom: 0 !important;
}

/* ---------------------------------- */
/* @CART */

.woocommerce table.cart a.remove {

	color: var(--delete--color);
	font-size: 1.2em;
}

.woocommerce table.cart td.product-thumbnail {

	min-width: 60px;
	max-width: 90px;
	width: 90px;
} 

.woocommerce table.cart .input-text.qty {

	width: 60px;
} 

.woocommerce table.cart tr:last-child td {

	border: none;
}

.woocommerce table.cart td.product-subtotal .amount {

	font-weight: bold;
}

.woocommerce table.cart td.actions {

	padding-top: var(--block--padding);
}

.woocommerce table.cart td.actions .coupon {

	float: left;
}

.woocommerce table.cart td.actions .coupon label {

	display: none;
}

.woocommerce table.cart td.actions .coupon .input-text {

	width: 170px;
}

.woocommerce .cart-collaterals table.shop_table tr > * {

	padding: .5em;
}

.woocommerce .cart-collaterals .wc-proceed-to-checkout {

	float: right;
}

.woocommerce .cart-collaterals .wc-proceed-to-checkout .button {

	text-align: center;
}

@media only screen and (min-width: 1024px) {

	.woocommerce .woocommerce-cart-form {

		float: left;
		width: 60%;
		padding-right: 30px;
		border-right: var(--global--border);
	}

	.woocommerce .cart-collaterals {

		float: left;
		width: 40%;
		margin-top: -60px;
		padding-left: 30px;
	}
}

@media only screen and (max-width: 1024px) {

	.woocommerce table.cart tr.cart_item {

		position: relative;
		padding: .8em 0 .8em 100px;
	}

	.woocommerce table.cart td.product-remove {

		float: right;
		width: auto;
	}

	.woocommerce table.cart td.product-thumbnail {

		position: absolute;
		top: 10px;
		left: 0;
	}
	
	.woocommerce table.cart td.product-name::before {

		content: none;
	}

	.woocommerce table.cart td.product-price {

		clear: right;
	}

	.woocommerce table.cart .input-text.qty {

		padding: 0 0 0 2px;
		margin-top: -2px;
		height: 20px;
		width: 45px;
		box-sizing: content-box;
	} 

	.woocommerce table.cart td.actions {

		display: flex;
		flex-wrap: wrap;
	}

	.woocommerce table.cart td.actions .coupon {

		order: 2;
		width: 100%;
		padding: var(--block--padding);
		background: var(--background-alt--color);
		border: var(--global--border);
	}

	.woocommerce table.cart td.actions > .button {

		order: 1;
		margin-bottom: var(--block--margin);
		width: 100%;
	}

	.woocommerce table.cart td.actions .coupon .input-text {

		width: 100%;
		margin-bottom: var(--form-field--margin);
	}

	.woocommerce table.cart td.actions .coupon .button {

		width: 100%;
	}

	.woocommerce .cart-collaterals .wc-proceed-to-checkout {

		float: none;
	}

	.woocommerce .cart-collaterals .wc-proceed-to-checkout .button {

		width: 100%;
	}
}

.woocommerce-cart .woocommerce-message .restore-item {

	margin-left: .2em;
	line-height: inherit;
}

.woocommerce-cart .cross-sells {

	clear: both;
	padding-top: var(--block--padding);
}

/* ---------------------------------- */
/* @CART TOTALS */

.woocommerce .cart_totals table.shop_table tr:last-child > * {

	border: none;
}

/* ---------------------------------- */
/* @MINI CART */

.ngn-mini-cart {

	min-width: 300px;
}

.ngn-mini-cart .woocommerce-mini-cart-item {

	display: flex;
	align-items: center;
	margin: .3em; 
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: var(--global--font-size-3);
}

.ngn-mini-cart .woocommerce-mini-cart-item:hover {

	background: var(--background-alt--color);
	border-color: var(--global--border-color);
}

.ngn-mini-cart a.remove {

	font-size: 1.2em;
	order: 2;
	margin-right: .3em;
}

.ngn-mini-cart .woocommerce-mini-cart-item:hover a.remove {

	color: var(--delete--color);
}

.ngn-mini-cart a:nth-child(2) {

	display: flex;
	align-items: center;
}

.ngn-mini-cart .ngn-image {

	width: 64px;
	height: 100%;
	margin-right: .5em;
}

.ngn-mini-cart .ngn-cart-item-name {

	width: 200px;
	margin-right: .5em;
}

.ngn-mini-cart .quantity {

	margin-right: .5em;
}

.ngn-mini-cart .quantity .amount {

	color: var(--strike--color);
}

.ngn-mini-cart .total {

	border-top: var(--global--border);
	padding: .5em;
}

.ngn-mini-cart .total .amount {

	float: right;
}

.ngn-mini-cart .buttons { 
	
	display: flex;
	justify-content: space-between;
	padding: .3em .5em;
}

.ngn-mini-cart .buttons .button {

	--button--padding: 0 1em;
}

.ngn-mini-cart .variation {

	display: none;
}

.ngn-mini-cart .woocommerce-mini-cart__empty-message {
	text-align: center;
	white-space: nowrap;
	padding: .5em;
}

/* password strength */

.woocommerce-password-strength {

	text-align: center;
	padding: .2em .5em;
}

.woocommerce-password-strength.strong {

	background-color: #c1e1b9;
	border-color: #83c373;
}

.woocommerce-password-strength.short {

	background-color: #f1adad;
	border-color: #e35b5b;
}

.woocommerce-password-strength.bad {

	background-color: #fbc5a9;
	border-color: #f78b53;
}

.woocommerce-password-strength.good {

	background-color: #ffe399;
	border-color: #ffc733;
}

.woocommerce-password-hint {

	margin: .5em 0 0;
	display: block;
	font-style: italic;
}