/**
 * General helper styles.
 */
body {
	--wp--preset--color--foreground: var(--wp--preset--color--primary);
	--wp--preset--font-size--small: var(--wp--preset--font-size--16);
}

.onsale {
	box-sizing: content-box;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.woocommerce .woocommerce-breadcrumb {
	margin: var(--wp--preset--spacing--30) 0;
}

/**
 * Messages/Notices.
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border: 1px solid;
	border-radius: var(--wp--custom--border--radius);
	font-family: var(--wp--custom--heading--font-family);
	font-weight: var(--wp--custom--heading--font-weight);
}

.woocommerce-info {
	background-color: var(--wp--preset--color--primary-lightest);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.woocommerce-info a {
	color: var(--wp--preset--color--primary);
}

.woocommerce-info::before {
	color: var(--wp--preset--color--primary);
}

.woocommerce-message {
	background-color: var(--wp--preset--color--success-lightest);
	border-color: var(--wp--preset--color--success);
	color: var(--wp--preset--color--success);
}

.woocommerce-message a {
	color: var(--wp--preset--color--success);
}

.woocommerce-message::before {
	color: var(--wp--preset--color--success);
}

.woocommerce-error {
	background-color: var(--wp--preset--color--error-lightest);
	border-color: var(--wp--preset--color--error);
	color: var(--wp--preset--color--error);
}

.woocommerce-error a {
	color: var(--wp--preset--color--error);
}

.woocommerce-error::before {
	color: var(--wp--preset--color--error);
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	font-size: var(--wp--preset--font-size--16);
	padding: calc(var(--wp--preset--spacing--10) / 2) var(--wp--preset--spacing--10);
}

.woocommerce-form-row span em {
	color: var(--wp--preset--color--contrast-lighter);
	font-size: var(--wp--preset--font-size--16);
}

/**
 * Products loops and Single product.
 */
.woocommerce .woocommerce-result-count {
	margin: var(--wp--preset--spacing--20) 0;
}

.woocommerce ul.products li.product {
	background-color: var(--wp--preset--color--base);
	border-radius: 12px;
	box-shadow: 0 20px 30px 0 #0000001a;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	list-style: none;
	padding-bottom: var(--wp--preset--spacing--20);
}

.woocommerce a.woocommerce-LoopProduct-link {
	display: block;
}

.woocommerce a.woocommerce-LoopProduct-link img {
	border-top-right-radius: calc(var(--wp--custom--border--radius) * 2);
	border-top-left-radius: calc(var(--wp--custom--border--radius) * 2);
}

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
	padding-right: var(--wp--preset--spacing--20);
	padding-left: var(--wp--preset--spacing--20);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: var(--wp--preset--font-size--24);
}

.woocommerce ul.products li.product .button {
	background-color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--16);
	margin: calc(var(--wp--preset--spacing--10) / 2) var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--20);
	padding: calc(var(--wp--preset--spacing--10) / 2) var(--wp--preset--spacing--10);
	transition: background-color 0.25s ease-in-out;
}

.woocommerce ul.products li.product .button:hover {
	background-color: var(--wp--preset--color--tertiary);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
	color: var(--wp--preset--color--foreground);
	font-size: var(--wp--preset--font-size--18);
}

.woocommerce ul.products li.product .price {
	padding-right: var(--wp--preset--spacing--20);
	padding-left: var(--wp--preset--spacing--20);
}

.woocommerce .quantity .qty {
	width: 5em;
	text-align: left;
}

.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__image {
	background-color: var(--wp--preset--color--base);
	border-radius: calc(var(--wp--custom--border--radius) * 2);
	box-shadow: 0 20px 30px 0 #0000001a;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	list-style: none;
	overflow: hidden;
}

.woocommerce div.product div.images .flex-control-thumbs {
	margin-top: var(--wp--preset--spacing--10);
}

.woocommerce div.product div.images .flex-control-thumbs li {
	padding: calc(var(--wp--preset--spacing--10) / 2);
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: calc(var(--wp--custom--border--radius) * 2);
}

.woocommerce .related.products h2 {
	margin: var(--wp--preset--spacing--30) 0;
}

/**
 * Account page.
 */
.woocommerce-account .wp-block-post-title,
.woocommerce-account main .woocommerce {
	max-width: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	font-family: var(--wp--custom--heading--font-family);
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--40) 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	display: inline-block;
	margin: 0 var(--wp--preset--spacing--10) var(--wp--preset--spacing--10) 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	font-weight: 900;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	color: var(--wp--preset--color--contrast);
	display: inline-block;
	font-weight: var(--wp--custom--heading--font-weight);
	text-decoration: none;
}

@media only screen and (min-width: 992px) {

	.woocommerce-account .woocommerce-MyAccount-navigation {
		display: flex;
		flex-direction: column;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		display: block;
		margin: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
		background-color: #f9f9f9;
		border-right-color: var(--wp--preset--color--tertiary);
		border-right-style: solid;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
		background-color: #efefef;
		border-right-color: var(--wp--preset--color--primary);
		border-right-style: solid;
		color: var(--wp--preset--color--primary);
		text-decoration: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		border-right: 5px solid var(--wp--preset--color--contrast-lightest);
		display: block;
		padding: 0.5em 1em;
		transition: background 0.2s ease, border-top-color 0.2s ease;
	}
}

.woocommerce-account .addresses .title h3 {
	margin: 0;
}

.woocommerce-account .addresses .woocommerce-Address {
	background-color: var(--wp--preset--color--base);
	border-radius: calc(var(--wp--custom--border--radius) * 2);
	box-shadow: 0 20px 30px 0 #0000001a;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	list-style: none;
	padding: var(--wp--preset--spacing--20);
}

/**
 * Cart and Checkout page.
 */
.woocommerce-cart .wp-block-post-title,
.woocommerce-cart main .woocommerce,
.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout main .woocommerce {
	max-width: none;
}

.woocommerce-page .woocommerce-cart-form #coupon_code {
	height: auto;
	padding: calc(var(--wp--preset--spacing--10) / 2);
}

.woocommerce .cart .actions .button {
	background-color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--16);
	padding: calc(var(--wp--preset--spacing--10) / 2) var(--wp--preset--spacing--10);
}

.woocommerce .cart .actions .button:hover {
	background-color: var(--wp--preset--color--tertiary);
}

.wc-proceed-to-checkout .wp-element-button {
	background-color: var(--wp--preset--color--tertiary);
}

.woocommerce table.shop_table {
	border: 10px solid #fcfcfc;
}

.woocommerce table.shop_table td,
#add_payment_method .cart-collaterals .cart_totals tr td,
#add_payment_method .cart-collaterals .cart_totals tr th,
.woocommerce-cart .cart-collaterals .cart_totals tr td,
.woocommerce-cart .cart-collaterals .cart_totals tr th,
.woocommerce-checkout .cart-collaterals .cart_totals tr td,
.woocommerce-checkout .cart-collaterals .cart_totals tr th {
	border-top: none;
}

.wp-block-woocommerce-checkout-order-summary-block {
	background-color: var(--wp--preset--color--base);
	border-radius: calc(var(--wp--custom--border--radius) * 2);
	box-shadow: 0 20px 30px 0 #0000001a;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	list-style: none;
	overflow: hidden;
	padding-bottom: var(--wp--preset--spacing--20);
}

.wc-block-components-totals-wrapper::after {
	border-color: #f5f5f5;
	opacity: 1;
}

.wc-block-components-totals-coupon__content {
	padding-right: 16px;
	padding-left: 16px;
}

.woocommerce .input-text {
	border: 1px solid var(--wp--preset--color--contrast-lighter);
	border-radius: var(--wp--custom--border--radius);
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	border: 1px solid var(--wp--preset--color--contrast-lightest);
	border-radius: var(--wp--custom--border--radius);
}

.woocommerce-customer-details .woocommerce-column {
	background-color: var(--wp--preset--color--base);
	border-radius: calc(var(--wp--custom--border--radius) * 2);
	box-shadow: 0 20px 30px 0 #0000001a;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	list-style: none;
	overflow: hidden;
	padding: var(--wp--preset--spacing--20);
}

.woocommerce-page h2.woocommerce-column__title {
	font-family: var(--wp--custom--heading--font-family);
	font-size: var(--wp--preset--font-size--24);
	font-weight: 900;
	margin-bottom: var(--wp--preset--spacing--20);
}

.woocommerce-page .woocommerce-customer-details address {
	border-width: 0;
	padding: 0;
	width: 100%;
}
