/* 1.1.0: light paper base (semantic presets), ink buttons with 8px radius, Mona Sans Mono for prices. */
.woocommerce,
.wc-block-components-main,
.wc-block-components-sidebar {
	--wp--preset--color--contrast: var(--wp--preset--color--text);
	--wp--preset--color--base: var(--wp--preset--color--ground);
	color: var(--wp--preset--color--text);
}

.woocommerce div.product,
.woocommerce ul.products,
.wc-block-cart,
.wc-block-checkout,
.woocommerce-account .woocommerce {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.woocommerce div.product div.summary,
.woocommerce form.checkout,
.woocommerce-MyAccount-content,
.wc-block-components-sidebar-layout > * {
	min-width: 0;
}

/* Product, shop and archive surfaces */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce div.product .woocommerce-product-rating,
.woocommerce div.product .product_meta,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--wp--preset--color--muted);
}

.woocommerce .woocommerce-breadcrumb a,
.woocommerce div.product .product_meta a,
.woocommerce div.product .woocommerce-review-link,
.woocommerce .star-rating,
.woocommerce p.stars a,
.woocommerce a.remove,
.wc-block-components-product-name,
.wc-block-components-product-name:hover {
	color: var(--wp--preset--color--blue);
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .flex-control-thumbs li,
.woocommerce ul.products li.product,
.woocommerce .related.products,
.woocommerce .upsells.products {
	border-color: var(--wp--preset--color--line);
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--image);
	background: var(--wp--preset--color--surface-1);
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--xs);
	margin-top: var(--wp--preset--spacing--xs);
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--small);
	background: var(--wp--preset--color--surface-2);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin-bottom: 0;
	padding: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 var(--wp--preset--spacing--xs) 0 0;
	padding: 0;
	border: 1px solid var(--wp--preset--color--line);
	border-bottom: 0;
	border-radius: var(--wp--custom--radius--small) var(--wp--custom--radius--small) 0 0;
	background: var(--wp--preset--color--surface-2);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--s);
	color: var(--wp--preset--color--muted);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--wp--preset--color--surface-1);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wp--preset--color--text);
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin-top: 0;
	padding: var(--wp--preset--spacing--m);
	border: 1px solid var(--wp--preset--color--line);
	border-top: 0;
	border-radius: 0 0 var(--wp--custom--radius--card) var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-1);
}

.woocommerce ul.products li.product {
	padding: var(--wp--preset--spacing--s);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-1);
}

.woocommerce ul.products li.product img {
	border-radius: var(--wp--custom--radius--small);
	background: var(--wp--preset--color--surface-2);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
	color: var(--wp--preset--color--text);
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
	border-color: var(--wp--preset--color--line);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--surface-1);
	color: var(--wp--preset--color--text);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--ground);
}

/* Controls and focus */
.woocommerce .quantity .qty,
.woocommerce input,
.woocommerce select,
.woocommerce textarea,
.select2-container .select2-selection,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-combobox .wc-block-components-combobox-control select,
.wc-block-components-quantity-selector,
.wc-block-components-checkbox .wc-block-components-checkbox__input,
.wc-block-components-radio-control .wc-block-components-radio-control__input {
	min-height: 46px;
	border: 1px solid var(--wp--preset--color--faint);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--text);
	accent-color: var(--wp--preset--color--blue);
}

.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"],
.wc-block-components-checkbox .wc-block-components-checkbox__input,
.wc-block-components-radio-control .wc-block-components-radio-control__input {
	min-width: 22px;
	min-height: 22px;
}

.woocommerce label,
.wc-block-components-text-input label,
.wc-block-components-combobox .wc-block-components-combobox-control label,
.wc-block-components-checkbox label,
.wc-block-components-radio-control__label {
	color: var(--wp--preset--color--text);
}

.wc-block-components-text-input.is-active label,
.wc-block-components-combobox .wc-block-components-combobox-control label {
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--muted);
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--wp--preset--color--text);
	line-height: 44px;
}

.select2-dropdown,
.select2-container--default .select2-results__option {
	border-color: var(--wp--preset--color--faint);
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--text);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--on-blue);
}

.woocommerce :is(input, select, textarea, button, a):focus-visible,
.wc-block-components-main :is(input, select, textarea, button, a):focus-visible,
.wc-block-components-sidebar :is(input, select, textarea, button, a):focus-visible,
.select2-container--focus .select2-selection {
	outline: 2px solid var(--wp--preset--color--blue);
	outline-offset: 3px;
}

/* Cart, checkout and account */
.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.wc-block-components-order-summary,
.wc-block-components-order-summary-item,
.wc-block-components-totals-wrapper,
.wc-block-cart-items,
.wc-block-cart-items th,
.wc-block-cart-items td,
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar {
	border-color: var(--wp--preset--color--line);
}

.woocommerce table.shop_table,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-cart-items,
.wc-block-components-sidebar {
	background: var(--wp--preset--color--surface-1);
}

.woocommerce-checkout #payment,
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.payment_box,
.wc-block-checkout__payment-method,
.wc-block-components-radio-control-accordion-option,
.wc-block-checkout__terms,
.wc-block-checkout__actions {
	border-color: var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--text);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--wp--preset--color--surface-2);
}

.woocommerce-checkout-review-order,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-form-coupon,
.woocommerce-form-login,
.woocommerce-Address,
.woocommerce-MyAccount-content {
	border-color: var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface-1);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-1);
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li {
	border-top: 1px solid var(--wp--preset--color--line);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: var(--wp--preset--spacing--s);
	color: var(--wp--preset--color--muted);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--text);
}

.woocommerce .woocommerce-privacy-policy-text,
.woocommerce .woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-gzd-legal-checkbox-text,
.woocommerce-gzd-checkbox-placeholder,
.wc-block-components-checkout-step__description,
.wc-block-components-totals-item__description {
	color: var(--wp--preset--color--muted);
}

/* Prices, notices and actions */
.woocommerce div.product .price,
.woocommerce ul.products li.product .price,
.woocommerce table.shop_table .amount,
.wc-block-components-product-price,
.wc-block-components-totals-item__value {
	color: var(--wp--preset--color--blue);
	font-family: var(--wp--preset--font-family--mono);
	font-variant-numeric: tabular-nums;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.wc-block-components-notice-banner {
	border: 1px solid var(--wp--preset--color--faint);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--text);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border-color: var(--wp--preset--color--stamp);
}

.wc-block-components-notice-banner.is-error > svg,
.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content a {
	color: var(--wp--preset--color--blue);
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	color: var(--wp--preset--color--blue);
}

.woocommerce a:not(.button),
.woocommerce-checkout a:not(.button),
.wc-block-cart a:not(.wc-block-components-button),
.wc-block-checkout a:not(.wc-block-components-button) {
	color: var(--wp--preset--color--blue);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button {
	min-height: 46px;
	border: 0;
	border-radius: var(--wp--custom--radius--button);
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--ground);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover {
	background: var(--wp--preset--color--action-hover);
	color: var(--wp--preset--color--ground);
}

.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.wc-block-components-button:disabled {
	background: var(--wp--preset--color--line-2);
	color: var(--wp--preset--color--muted);
	opacity: 1;
}

@media (max-width: 780px) {
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary,
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100%;
		float: none;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		margin-top: var(--wp--preset--spacing--m);
	}
}
