.woocommerce {
	.select2-chosen {
		height: 50px;
		line-height: 50px;
		padding-left: 5px;
		font-size: 14px;
	}

	a.remove,
	ul.product_list_widget li a.remove {
		font-size: 18px  !important;
		height: 20px;
		width: 20px;
		padding: 0px;
		font-weight: normal;
		line-height: 20px !important;
		text-align: center;
		transition: all .2s ease;

		&:hover {
			background: red !important;
		}
	}

	.checkout-breadcrumb {
		.icon.shortcode {
			line-height: 1.15;
			font-size: 20px;
			padding: 0 20px;
			vertical-align: middle !important;
			color: var( --vamtam-default-line-color );
		}
	}

	&.woocommerce-checkout .checkout_coupon,
	&.woocommerce .woocommerce-error:not(form.login):not(form.register),
	&.woocommerce .woocommerce-info:not(form.login):not(form.register),
	&.woocommerce .woocommerce-message:not(form.login):not(form.register),
	&.woocommerce form.login:not(form.login):not(form.register),
	&.woocommerce form.register:not(form.login):not(form.register) {
		border-width: 3px;
	}

	.woocommerce-result-count {
		margin: 0;
		line-height: 50px;
	}

	#payment {
		background: none;

		div.payment_box {
			box-shadow: none;
			text-shadow: none;
			background: none;
			border: solid 1px var( --vamtam-default-line-color );

			&:after {
				border-bottom-color: var( --vamtam-default-line-color );
			}

			&:before {
				margin: -10px 0 0 20px;
				border: 10px solid transparent;
				border-bottom-color: #dfdcde;
			}

			p {
				margin: 0;
			}
		}

		ul.payment_methods {
			padding: 10px 0;
			border-bottom: 0;

			li input {
				margin: 0 0.5em 0 0;
				vertical-align: middle;
				border: 0;
			}
			.about_paypal {
				border: var( --vamtam-no-border-link );
			}
		}
		div.form-row {
			padding: 0;
			margin-bottom: 0;
		}
		.woocommerce-terms-and-conditions-wrapper {
			p {
				margin: 5px 0;
			}
		}
	}

	form .form-row {
		padding: 0;
	}

	.star-rating {
		&, &::before {
			color: var( --vamtam-accent-color-1 );
		}
	}

	.woocommerce-message,
	.woocommerce-error,
	.woocommerce-info,
	form.login,
	form.register {
		&:not(form.login):not(form.register) {
			background-color: var( --vamtam-accent-color-5 );
		}
		padding: 0;
		border-radius: var( --vamtam-border-radius );
		border: solid 1px var( --vamtam-default-line-color );

		&:before {
			display: none;
		}
	}

	form.woocommerce-form-register.register,
	form.woocommerce-form-login.login {
		border: 0;
		&,
		.form-row {
			display: flex;
			flex-direction: column;
			padding: 0;
			button[name="login"] {
				margin-top: 30px;
				margin-right: 0;
			}
			.woocommerce-form-login__rememberme {
				.vamtam-checkbox();
			}
		}

		.form-row-first,
		.form-row-last {
			width: 100%;
		}

		p {
			margin-bottom: 10px;
		}

		p.lost_password {
			&::before {
				display: none;
			}

			padding: 0;
			margin: 0;
		}
	}

	.lost_reset_password p.form-row-first {
		margin-bottom: 12px;
	}

	&.woocommerce-lost-password .page-content .woocommerce:last-child {
		margin-bottom: 60px;
	}

	.woocommerce-message,
	.woocommerce-error,
	.woocommerce-info {
		border-radius: 0;
		padding: 20px 30px;
	}

	&.single-product {

		.single_add_to_cart_button.button.loading {
			pointer-events: none;
			opacity: .5;

			&::after {
				top: unset;
				margin-left: 1em;
			}
		}

		form.cart {
			.added_to_cart.wc-forward {
				display: none;
			}

			.group_table td {
				vertical-align: middle;
				padding: .9em 0;
				line-height: 1.3em;
			}
		}

		.woocommerce-info,
		.woocommerce-error,
		.woocommerce-message {
			position: fixed;
			top: auto;
			left: 0;
			right: 0;
			bottom: 0;
			z-index: 99999;
			margin-bottom: 0;
			border-radius: 0;
			background-color: var(--vamtam-accent-color-2);
			color: var(--vamtam-accent-color-2-hc);
			border: 0;

			a:not(.button) {
				color: var(--vamtam-accent-color-2-hc);
			}
		}

		.woocommerce-message {
			border-bottom: 0;

			&, .vamtam-wc-msg {
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.vamtam-wc-msg {
				margin-left: auto;
				color: var(--vamtam-primary-font-color);
			}

			&.error {
				color: var(--vamtam-accent-color-1);
				border: 2px solid var(--vamtam-accent-color-1);
			}

			.button.wc-forward {
				order: 1;
				margin-left: 15px;
				&:not(:hover){
					background-color: transparent;
				}
				padding: var(--vamtam-button-solid-padding,22px 27px);
			}

			.vamtam-close-notice-btn {
				display: flex;
				justify-content: center;
				align-items: center;
				order: 2;
				margin-left: auto;
				height: 1em;
				background-color: transparent;
				padding: var(--vamtam-button-solid-padding,22px 27px);
				&::before {
					display: inline;
					font-family: 'vamtam-theme';
					content: icon('vamtam-theme-close-sample');
					vertical-align: middle;
				}

				&:hover::before {
					color: currentColor;
				}
			}
		}
	}

	.woocommerce-notices-wrapper > ul {
		margin: 0 0 30px 0;
	}

	.woocommerce-error {
		border-color: #b81c23;
		color: #b81c23;
		background-color: rgba(184, 28, 35, 0.02);
		text-shadow: none;
	}

	.button.wc-forward,
	.button.wc-backward {
		&, a {
			&:after,
			&:before {
				display: none;
			}
		}
	}

	.products.vamtam-wc .product span.price {
		ins {
			font-weight: inherit;
		}
	}

	span.onsale,
	.product-category .vamtam-product-cat-info,
	.product-category .vamtam-product-cat-info > span {
		margin: 1em;
		position: absolute;
		top: 1em;
		left: 1em;
		right: inherit;
		border-radius: var( --vamtam-border-radius-oval );
		padding: 0.7em 1.4em;
		font-size: 11px;
		background: var( --vamtam-accent-color-1 );
		color: var( --vamtam-accent-color-1-hc );
		font-weight: 600;
		line-height: 18px;
		text-transform: uppercase;
		letter-spacing: 1px;
		min-height: auto;
		width: auto;
		z-index: 10;
		box-shadow: 0 1px 30px 0 rgba(0,0,0,0.03);
	}

	.product-category .vamtam-product-cat-info {
		padding: 0;
		display: flex;
		align-items: center;
		> span {
			margin: 0;
			position: relative;
			top: unset;
			left: unset;
			right: unset;
			bottom: unset;
		}
		.vamtam-product-cat-class-level {
			color: var( --vamtam-accent-color-7 );
			background-color: var( --vamtam-accent-color-2 );
		}
		.vamtam-product-cat-class-category {
			font-weight: bold;
		}
	}

	.woocommerce-products-header {
		margin-bottom: 30px;
	}

	.woocommerce-product-details__short-description {
		margin: 0em 0 1.4em 0;
	}

	.quantity,
	#quantity {
		input.qty {
			position: relative;
			margin: 0;
			padding: 5px 5px 5px 15px;
			width: calc( 3em + 70px );
			height: auto;
			color: currentColor;
		}
	}

	.woocommerce-Tabs-panel--additional_information > h2,
	.woocommerce-Tabs-panel--reviews .woocommerce-Reviews-title {
		display: none;
	}

	div.product {
		.woocommerce-tabs {
			position: relative;
			border: 0;
			padding: 3em 0;
			margin: 0;

			> ul.tabs {
				overflow: visible;
				margin: 0;
				padding: 0;
				border: 0;
				list-style: none;
				text-align: center;

				&:before {
					display: none;
				}

				li {
					position: relative;
					z-index: 2;
					margin: 0;
					padding: 0;
					border: 0;
					white-space: nowrap;
					border-radius: 0;
					background: none;
					float: none;
					display: inline-block;
					width: auto;

					&:before,
					&:after {
						display: none !important;
					}

					a {
						position: relative;
						display: block;
						outline: none;
						font-weight: 600;
						margin-right: 2em;
						margin-bottom: 0.5em;
						padding: .3em 0;
						cursor: pointer;
						transition: all 0.3s;
						border-bottom: solid 2px transparent;
						color: var( --vamtam-primary-font-color );

						.icon {
							color: var( --vamtam-accent-color-5 );
							font-style: normal;
						}

						&:hover {
							border-radius: 0px;
							box-shadow: none;
							color: var( --vamtam-body-link-hover );
							text-decoration: none;
							background: none;

							.icon {
								color: var( --vamtam-accent-color-5 ) !important;
							}
						}
					}
				}

				li.active {
					padding: 0 !important;
					border: 0;
					box-shadow: none;
					color: var( --vamtam-body-link-hover );
					text-decoration: none;
					white-space: nowrap;
					border-radius: 0px;
					background: none;

					a {
						background: none;
						color: var( --vamtam-body-link-hover );
						border-color: var( --vamtam-body-link-hover );
					}
				}
			}

			.panel {
				padding: 1.0em 0 2em 0;
				margin: 0;
			}

			&,
			&:after,
			> ul:after {
				display: block;
				clear: both;
				content: "";
			}

			p.stars a {
				font-size: 16px !important;
				margin-right: 5px !important;
				border: var( --vamtam-no-border-link );
			}
		}

		.related.products {
			border-top: 1px solid var( --vamtam-default-line-color );
		}

		form.variations_form {
			table.variations {
				tr {
					border-bottom: 0 !important;
				}

				td {
					display: block;
					padding: 0;

					select {
						margin: 0 !important;
					}
				}
			}

			.single_variation {
				margin-bottom: 30px;
			}

			.woocommerce-variation-price:not(:first-child) {
				margin-top: 30px;
			}

			.woocommerce-variation-add-to-cart {
				display: flex;
			}
		}

		form.cart {
			.variations {
				margin-bottom: 0.5em;

				td.label {
					padding-top: 0.5em;
				}
			}

			.reset_variations {
				padding-top: 0.5em;
				display: inline-block;
			}

			table {
				margin-bottom: 2em;
			}

			.group_table {
				td {
					vertical-align: middle;
					padding: .9em 0;
					line-height: 1.3em;

					&.woocommerce-grouped-product-list-item__label {
						width: 55%;
					}
				}
			}
		}
	}

	&.elementor-editor-active {
		.product form.variations_form {
			.single_variation {
				display: none;
			}
		}
	}

	.woocommerce-grouped-product-list-item__price {
		text-align: end;
	}

	div.product .summary {
		p.price,
		span.price {
			&, ins {
				color: var( --vamtam-accent-color-6 );
				&:extend( .vamtam-font-h4 );
			}
		}
	}

	div.product p.price {
		del {
			opacity: 1 !important;
			display: inline-block;
			margin-right: .5em;
			font-weight: normal;
		}
	}

	.summary p.price {
		margin-bottom: 0.8em;
	}

	.product_meta {
		a {
			font-weight: normal;
			color: var( --vamtam-body-link-regular );

			&:hover {
				color: var( --vamtam-body-link-hover );
			}

			&:visited {
				color: var( --vamtam-body-link-visited );
			}
		}
	}

	table.shop_table {
		border: 0;
		margin-bottom: 10px;

		tfoot th td {
			font-weight: normal;
		}
		.product-remove{
			padding-left: 10px;
		}
	}

	table.shop_attributes td {
		padding-left: 8px !important;
		font-style: normal;

		p {
			font-style: normal;
		}
	}

	.shipping td p {
		margin-top: 5px;
	}

	.add_review {
		a.button {
			box-shadow: none;
			text-shadow: none;
		}
	}

	ul.cart_list a {
		&:extend(.vamtam-font-h5);
		padding: 5px 0 10px 0;
		font-size: 14px;
	}

	&.woocommerce-account {
		.woocommerce-MyAccount-navigation {
			border: solid 1px var(--vamtam-default-line-color);
			border-radius: var(--vamtam-border-radius);
			margin-bottom: 30px;

            ol, ul:not(.wp-block-gallery) {
                 margin: 0px;
                }

			ul li {
				border-bottom: solid 1px var(--vamtam-default-line-color);
				padding: .6em 1em;
				&:last-child {
					border: none;
				}
			}
		}
		table {
			tr {
				&:last-child {
					border: none;
				}
			}
			thead th {
				padding: 10px 10px;
				border: none;
			}
			a.button {
				font-size: 10px;
				padding: 8px 15px;
				margin: 0px 5px 5px 0px
			}
		}
		.addresses {
			.woocommerce-Address-title {
				display: flex;
				align-items: center;

				.edit {
					margin-left: auto;
				}
			}
		}

		.edit-account {
			button[type=submit] {
				margin-top: 1em;
			}
		}

		&.woocommerce-lost-password {
			min-height: 100vh;
			display: flex;
			flex-direction: column;

			> .elementor-location-header {
				flex-shrink: 0;
			}

			> #page {
				flex-grow: 1;
				display: flex;
				flex-direction: column;
				margin: 0;

				> #main-content {
					flex-grow: 1;
					margin-bottom: 30px;
				}

				> .footer-wrapper {
					flex-shrink: 0;
				}
			}
		}
	}

	.woocommerce-order-details,
	.woocommerce-order-downloads {
		padding-top: 5px;
	}
	.woocommerce-customer-details {
		address {
			width: auto;
			border-width: 1px;
		}
		.woocommerce-column--1 {
			address {
				margin-bottom: 35px;
			}
		}
	}

	.woocommerce-ordering select {
		margin-bottom: 0 !important;
	}

	// WC Bookings overrides.

	// Datepicker
	.wc-bookings-date-picker {
		padding: 0;
		padding-top: 0;
		line-height: inherit;

		.wc-bookings-date-picker-date-fields {
			display: grid;
			grid-template-columns: repeat(3, auto);
			grid-gap: 10px;
			line-height: inherit;
			> label {
				width: 100%;
			}
		}

		.ui-datepicker .ui-datepicker-prev,
		.ui-datepicker .ui-datepicker-next,
		.ui-datepicker-title,
		.ui-datepicker-header {
			.button-gen( '--vamtam-accent-color-1' );
			border: 0;
			text-transform: inherit;
		}

		.ui-datepicker {
			&.ui-widget {
				font: inherit;
			}

			// Bookable.
			td.bookable a {
				.button-gen( '--vamtam-accent-color-1' ) !important;
			}

			// Partially booked.
			td.partial_booked a,
			td.bookable-range .ui-state-default {
				.button-gen( '--vamtam-accent-color-2' ) !important;
			}

			// Fully booked.
			td.fully_booked {
				&:not(.ui-datepicker-other-month) {
					opacity: 1;
				}
				span, a {
					background-color: red !important;
				}
			}
		}
	}

	// Forms
	.wc-bookings-booking-form-button.single_add_to_cart_button.button.disabled {
		.button-gen( '--vamtam-accent-color-1' );
		.button-gen-hover( '--vamtam-accent-color-6' );
	}
	.wc-bookings-booking-form  {
		border: none;

		.form-field input[type=number] {
			 width: 25%;
		}

		fieldset label {
			width: 31%;
		}

		.wc-bookings-booking-cost {
			background: transparent;
			border-color: var(--vamtam-accent-color-7);
		}
	}

	.products {
		&.related,
		&.upsells {
			> h2 {
				&:extend( .vamtam-font-h4 );
				margin: 1em 0;
			}
		}
	}
}

.woocommerce-page #review_form #respond p.stars {
	margin: 0px 0 1em;
	height: 1em;
}

.woocommerce .main-header img, .woocommerce-page .main-header img {
	max-width: initial;
}

.vamtam-cart-dropdown-link {
	position: relative;
	display: block;
	width: auto;
	text-align: center;
	cursor: pointer;
	transition: all .3s;
	height: 40px;
	border: var( --vamtam-no-border-link );

	.products {
		box-sizing: border-box;
		position: absolute;
		top: 15px;
		left: 3px;
		z-index: 1;
		display: block;
		text-align: center;
		font-style: normal;
		font-size: 11px;
		font-family: var( --vamtam-primary-font-font-family );
		line-height: 1em;
		font-weight: 700;
		width: 90%;
		transition: color .3s;

		&.cart-empty {
			transition: all .3s;
		}
	}

	.icon {
		position: relative;
		font-size: 42px;
		line-height: 1;
		transition: all .3s;
	}

	&:hover {
		text-decoration: none;
		color: var( --vamtam-accent-color-1 );
		border: none;

		.icon {
			color: var( --vamtam-accent-color-1 );
		}

		.products.cart-empty,
		.products {
			color: var( --vamtam-accent-color-1 );
		}
	}
}

.fixed-header-box {
	.cart-dropdown {
		min-width: 42px;
		margin-left: 15px;

		&.hidden {
			display: none;
		}

		.cart-dropdown-inner {
			width: 32px;
			height: 40px;
		}
	}
}

.woocommerce-store-notice,
p.demo_store {
	background-color: var( --vamtam-accent-color-2 );
	box-shadow: none;
	color: var( --vamtam-accent-color-2-hc );
}

.select2-dropdown,
.select2-container--default .select2-selection--single {
	text-align: start;
	background-color: var( --vamtam-default-bg-color );
	color: var( --vamtam-primary-font-color );
	border-color: var( --vamtam-accent-color-1 );
	border-width: 2px;
	border-radius: var( --vamtam-border-radius );
	min-height: 50px;
	outline: none;
	transition: border-color .3s ease;
	.select2-selection__rendered {
		line-height: 50px !important;
		padding: .213em 20px;
	}
	.select2-selection__arrow {
		height: 50px !important;
		right: 10px;
		padding: 3px;
	}
	.select2-search--dropdown {
		padding: 0;
		margin: 0;
		border-top: 0 !important;
		border-right: 0 !important;
		border-left: 0 !important;

		input {
			border: 0;
			padding: 10px;
		}
	}

	.select2-results > .select2-results__options {
		margin-left: 0;
		margin-right: 0;
	}
}
.select2-container--open,
.select2-container--focus {
	.select2-dropdown,
	&.select2-container--default .select2-selection--single {
		border-color: var(--vamtam-accent-color-2);
		border-width: 2px;
		border-radius: 0 0 var( --vamtam-input-border-radius ) var( --vamtam-input-border-radius );
		outline: none;
	}
}

.select2-container--default .select2-results__option,
.select2-container--default .select2-results__option--highlighted {
	padding: 8px 20px;
	transition: background .2s ease;
	outline: none;
	&[aria-selected=true],
	&[data-selected=true] {
		background: var( --vamtam-default-line-color );
		color: var( --vamtam-default-line-color-hc );
	}
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	background-color: var( --vamtam-accent-color-5 );
	color: var( --vamtam-accent-color-5-hc );
	border: 0 !important;
}

@media not ( hover ) {
	.woocommerce .products.vamtam-wc .product .add_to_cart_button,
	.woocommerce .products.vamtam-wc .product .vamtam-button.product_type_simple,
	.woocommerce .products.vamtam-wc .product .added_to_cart,
	.woocommerce .products.vamtam-wc .product .ajax_add_to_cart {
		opacity: 1;
	}
}

.post-type-archive-product .page-content .vamtam-pagination-wrapper {
	padding-top: 30px;
	border-top: 1px solid var( --vamtam-default-line-color );
}

.woocommerce-view-order,
.woocommerce-order-received {
	.woocommerce {
		.order_details strong {
			color: #000;
		}

		.woocommerce-MyAccount-content > p > mark {
			background-color: transparent;
		}

		.woocommerce-table--order-details {
			margin-bottom: 0;
			border-collapse: collapse;

			tfoot {
				.woocommerce-Price-amount.amount,
				tr:nth-child(2) td {
					color: #000;
				}

				tr:first-child td {
					font-weight: inherit;
				}
			}

			&, td {
				border: 1px solid var(--vamtam-default-line-color) !important;
			}

			th {
				width: 70%;
				border-top: 0;
				font-weight: inherit;
			}
			td {
				width: 30%;
			}
		}

		.woocommerce-order-details .woocommerce-order-details__title,
		.woocommerce-customer-details .woocommerce-column__title {
			&:extend(.vamtam-font-h4);
		}

		.woocommerce-customer-details {
			address {
				border: 1px solid var(--vamtam-default-line-color);
			}
		}
	}
}

#customer_login {
	.col-1,
	.col-2 {
		> h2 {
			&:extend(.vamtam-font-h3);
		}
	}
}

.woocommerce form .form-row.woocommerce-validated input.input-text {
	border-color: e("color( from var(--vamtam-accent-color-6) srgb r g b / .5 )");
}

// Theme-dependent.
.theme-wc-form-styles() {
	input, textarea {
		min-height: 60px;
		padding: 14px 20px;

		line-height: 1.5;
		caret-color: var(--vamtam-accent-color-1);
		border: 2px solid var( --vamtam-accent-color-1) !important;

		&:extend( .vamtam-font-primary-font );
		color: var( --vamtam-accent-color-1 );

		&::placeholder {
			color: e("color( from var( --vamtam-accent-color-1) srgb r g b / .3 )");
		}
		&:active, &:focus {
			color: var( --vamtam-accent-color-1 );
			border-color: e("color( from var( --vamtam-accent-color-1) srgb r g b / .3 )");
		}
	}
	button.button,
	input.qty {
		min-height: 60px;
	}
	label {
		padding-left: 20px;
		color: var(--vamtam-primary-font-color);
		font-family: var(--vamtam-primary-font-font-family);
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 0;
		line-height: 30px;
		margin-bottom: 10px;
	}
}

.woocommerce-EditAccountForm.edit-account,
.woocommerce-edit-address .woocommerce-address-fields {
	// Edit account form.
	.theme-wc-form-styles()
}

