.wootilities-icon {
	display: block;
	height: 1em;
	pointer-events: none;
	width: 1em;
}

body.wootilities-style-vega {
	--wootilities-action-height: 44px;
	--wootilities-card-height: 82px;
	--wootilities-control-height: 40px;
	--wootilities-panel-padding: 24px;
}

body.wootilities-style-nova {
	--wootilities-action-height: 42px;
	--wootilities-card-height: 74px;
	--wootilities-control-height: 36px;
	--wootilities-panel-padding: 20px;
}

body.wootilities-style-maia {
	--wootilities-action-height: 48px;
	--wootilities-card-height: 92px;
	--wootilities-control-height: 44px;
	--wootilities-panel-padding: 28px;
}

body.wootilities-style-lyra {
	--wootilities-action-height: 42px;
	--wootilities-card-height: 78px;
	--wootilities-control-height: 38px;
	--wootilities-panel-padding: 20px;
}

body.wootilities-style-mira {
	--wootilities-action-height: 38px;
	--wootilities-card-height: 68px;
	--wootilities-control-height: 32px;
	--wootilities-panel-padding: 16px;
}

body.wootilities-woo-text.wootilities-cart-active .wp-block-woocommerce-cart,
body.wootilities-woo-text.wootilities-checkout-active .wp-block-woocommerce-checkout {
	color: var(--wootilities-woocommerce-text);
}

body.wootilities-woo-accent.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-product-name,
body.wootilities-woo-accent.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-totals-coupon-link,
body.wootilities-woo-accent.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-product-name,
body.wootilities-woo-accent.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-totals-coupon-link {
	color: var(--wootilities-woocommerce-accent);
}

body.wootilities-woo-accent.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-product-name:hover,
body.wootilities-woo-accent.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-totals-coupon-link:hover,
body.wootilities-woo-accent.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-product-name:hover,
body.wootilities-woo-accent.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-totals-coupon-link:hover {
	color: var(--wootilities-woocommerce-accent);
}

body.wootilities-woo-primary.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline),
body.wootilities-woo-primary.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__submit-button,
body.wootilities-woo-primary.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline),
body.wootilities-woo-primary.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background-color: var(--wootilities-woocommerce-primary) !important;
	border-color: var(--wootilities-woocommerce-primary) !important;
	border-radius: var(--wootilities-button-radius, 24px) !important;
}

body.wootilities-woo-primary-text.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline),
body.wootilities-woo-primary-text.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__submit-button,
body.wootilities-woo-primary-text.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline),
body.wootilities-woo-primary-text.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	color: var(--wootilities-woocommerce-primary-text) !important;
}

body.wootilities-woo-primary.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline):hover,
body.wootilities-woo-primary.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline):hover {
	filter: brightness(.9);
}

body.wootilities-woo-accent.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-text-input input:focus,
body.wootilities-woo-accent.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-combobox .components-combobox-control__input:focus,
body.wootilities-woo-accent.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-checkbox input:focus,
body.wootilities-woo-accent.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-radio-control__input:focus,
body.wootilities-woo-accent.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
body.wootilities-woo-accent.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input:focus,
body.wootilities-woo-accent.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-checkbox input:focus,
body.wootilities-woo-accent.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-radio-control__input:focus {
	border-color: var(--wootilities-woocommerce-accent) !important;
	box-shadow: 0 0 0 1px var(--wootilities-woocommerce-accent) !important;
	outline-color: var(--wootilities-woocommerce-accent) !important;
}

body.wootilities-woo-primary.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-checkbox input,
body.wootilities-woo-primary.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-radio-control__input,
body.wootilities-woo-primary.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-checkbox input,
body.wootilities-woo-primary.wootilities-checkout-active .wp-block-woocommerce-checkout .wc-block-components-radio-control__input {
	accent-color: var(--wootilities-woocommerce-primary) !important;
}

body.wootilities-checkbox-box :is(
	.wootilities-product-field-input[data-field-type="checkbox"] input[type="checkbox"],
	.wootilities-product-field-input[data-field-type="true_false"] input[type="checkbox"],
	.wootilities-custom-field--checkbox input[type="checkbox"],
	.wootilities-recipient__consents input[type="checkbox"],
	.wootilities-cart-active .wc-block-components-checkbox input[type="checkbox"],
	.wootilities-checkout-active .wc-block-components-checkbox input[type="checkbox"]
),
body.wootilities-checkbox-card_tick :is(
	.wootilities-product-field-input[data-field-type="checkbox"] input[type="checkbox"],
	.wootilities-product-field-input[data-field-type="true_false"] input[type="checkbox"],
	.wootilities-custom-field--checkbox input[type="checkbox"],
	.wootilities-recipient__consents input[type="checkbox"],
	.wootilities-cart-active .wc-block-components-checkbox input[type="checkbox"],
	.wootilities-checkout-active .wc-block-components-checkbox input[type="checkbox"]
) {
	appearance: none !important;
	background-color: var(--wootilities-card, #fff) !important;
	border: 1px solid var(--wootilities-border, #dcdcde) !important;
	border-radius: var(--wootilities-checkbox-radius, 4px) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	flex: 0 0 var(--wootilities-checkbox-size, 20px) !important;
	height: var(--wootilities-checkbox-size, 20px) !important;
	margin: 0 !important;
	min-height: var(--wootilities-checkbox-size, 20px) !important;
	width: var(--wootilities-checkbox-size, 20px) !important;
}

body.wootilities-checkbox-box :is(
	.wootilities-product-field-input[data-field-type="checkbox"] input[type="checkbox"],
	.wootilities-product-field-input[data-field-type="true_false"] input[type="checkbox"],
	.wootilities-custom-field--checkbox input[type="checkbox"],
	.wootilities-recipient__consents input[type="checkbox"],
	.wootilities-cart-active .wc-block-components-checkbox input[type="checkbox"],
	.wootilities-checkout-active .wc-block-components-checkbox input[type="checkbox"]
):checked,
body.wootilities-checkbox-card_tick :is(
	.wootilities-product-field-input[data-field-type="checkbox"] input[type="checkbox"],
	.wootilities-product-field-input[data-field-type="true_false"] input[type="checkbox"],
	.wootilities-custom-field--checkbox input[type="checkbox"],
	.wootilities-recipient__consents input[type="checkbox"],
	.wootilities-cart-active .wc-block-components-checkbox input[type="checkbox"],
	.wootilities-checkout-active .wc-block-components-checkbox input[type="checkbox"]
):checked {
	background-color: var(--wootilities-primary, #e2001a) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='m6.4 11.2-3-3 1.2-1.2 1.8 1.8 5-5L12.6 5z'/%3E%3C/svg%3E") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	border-color: var(--wootilities-primary, #e2001a) !important;
}

body:is(.wootilities-checkbox-box, .wootilities-checkbox-card_tick) :is(
	.wootilities-product-field-input[data-field-type="checkbox"] input[type="checkbox"],
	.wootilities-product-field-input[data-field-type="true_false"] input[type="checkbox"],
	.wootilities-custom-field--checkbox input[type="checkbox"],
	.wootilities-recipient__consents input[type="checkbox"],
	.wootilities-cart-active .wc-block-components-checkbox input[type="checkbox"],
	.wootilities-checkout-active .wc-block-components-checkbox input[type="checkbox"]
):checked::before,
body:is(.wootilities-checkbox-box, .wootilities-checkbox-card_tick) :is(
	.wootilities-product-field-input[data-field-type="checkbox"] input[type="checkbox"],
	.wootilities-product-field-input[data-field-type="true_false"] input[type="checkbox"],
	.wootilities-custom-field--checkbox input[type="checkbox"],
	.wootilities-recipient__consents input[type="checkbox"],
	.wootilities-cart-active .wc-block-components-checkbox input[type="checkbox"],
	.wootilities-checkout-active .wc-block-components-checkbox input[type="checkbox"]
):checked::after,
body:is(.wootilities-checkbox-box, .wootilities-checkbox-card, .wootilities-checkbox-card_tick):is(.wootilities-cart-active, .wootilities-checkout-active) .wc-block-components-checkbox__mark {
	content: none !important;
	display: none !important;
}

body:is(.wootilities-checkbox-card, .wootilities-checkbox-card_tick) :is(
	.wootilities-product-field-input[data-field-type="checkbox"] fieldset > label,
	.wootilities-product-field-input[data-field-type="true_false"] > label,
	.wootilities-custom-field--checkbox,
	.wootilities-recipient__consents .wc-block-components-checkbox label,
	.wootilities-cart-active .wc-block-components-checkbox label,
	.wootilities-checkout-active .wc-block-components-checkbox label
) {
	background: var(--wootilities-card, #fff) !important;
	border: 1px solid var(--wootilities-border, #dcdcde) !important;
	border-radius: var(--wootilities-card-radius, 8px) !important;
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 12px !important;
}

body:is(.wootilities-checkbox-card, .wootilities-checkbox-card_tick) :is(
	.wootilities-product-field-input[data-field-type="checkbox"] fieldset > label,
	.wootilities-product-field-input[data-field-type="true_false"] > label,
	.wootilities-custom-field--checkbox,
	.wootilities-recipient__consents .wc-block-components-checkbox label,
	.wootilities-cart-active .wc-block-components-checkbox label,
	.wootilities-checkout-active .wc-block-components-checkbox label
):has(input:checked) {
	border-color: var(--wootilities-primary, #e2001a) !important;
	box-shadow: inset 0 0 0 1px var(--wootilities-primary, #e2001a) !important;
}

body.wootilities-checkbox-card :is(
	.wootilities-product-field-input[data-field-type="checkbox"] input[type="checkbox"],
	.wootilities-product-field-input[data-field-type="true_false"] input[type="checkbox"],
	.wootilities-custom-field--checkbox input[type="checkbox"],
	.wootilities-recipient__consents input[type="checkbox"],
	.wootilities-cart-active .wc-block-components-checkbox input[type="checkbox"],
	.wootilities-checkout-active .wc-block-components-checkbox input[type="checkbox"]
) {
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

body:is(.wootilities-checkbox-box, .wootilities-checkbox-card, .wootilities-checkbox-card_tick) :is(
	.wootilities-product-field-input[data-field-type="checkbox"] label,
	.wootilities-product-field-input[data-field-type="true_false"] > label,
	.wootilities-custom-field--checkbox,
	.wc-block-components-checkbox label
):has(input:focus-visible) {
	outline: 2px solid var(--wootilities-ring, #e2001a) !important;
	outline-offset: 2px;
}

/* Core WooCommerce palette: classic templates and Blocks. */
:is(body.wootilities-woo-text.woocommerce, body.wootilities-woo-text .woocommerce),
body.wootilities-woo-text .wc-block-components-sidebar-layout,
body.wootilities-woo-text .wp-block-woocommerce-cart,
body.wootilities-woo-text .wp-block-woocommerce-checkout,
body.wootilities-woo-text .wp-block-woocommerce-product-collection,
body.wootilities-woo-text .wc-block-grid {
	color: var(--wootilities-woocommerce-text);
}

:is(body.wootilities-woo-accent.woocommerce, body.wootilities-woo-accent .woocommerce) a:not(.button),
:is(body.wootilities-woo-accent.woocommerce, body.wootilities-woo-accent .woocommerce) div.product .woocommerce-tabs ul.tabs li.active a,
body.wootilities-woo-accent .wc-block-components-product-name,
body.wootilities-woo-accent .wc-block-components-totals-coupon-link,
body.wootilities-woo-accent .wc-block-components-totals-footer-item-tax-value,
body.wootilities-woo-accent .wc-block-grid__product-link,
body.wootilities-woo-accent .wp-block-woocommerce-product-collection a:not(.wp-block-button__link) {
	color: var(--wootilities-woocommerce-accent) !important;
}

:is(body.wootilities-woo-primary.woocommerce, body.wootilities-woo-primary .woocommerce) a.button,
:is(body.wootilities-woo-primary.woocommerce, body.wootilities-woo-primary .woocommerce) button.button,
:is(body.wootilities-woo-primary.woocommerce, body.wootilities-woo-primary .woocommerce) input.button,
:is(body.wootilities-woo-primary.woocommerce, body.wootilities-woo-primary .woocommerce) #respond input#submit,
body.wootilities-woo-primary .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline),
body.wootilities-woo-primary .wc-block-cart__submit-button,
body.wootilities-woo-primary .wc-block-components-checkout-place-order-button,
body.wootilities-woo-primary .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.wootilities-woo-primary .wp-block-woocommerce-product-button .wp-block-button__link {
	background-color: var(--wootilities-woocommerce-primary) !important;
	border-color: var(--wootilities-woocommerce-primary) !important;
}

:is(body.wootilities-woo-primary-text.woocommerce, body.wootilities-woo-primary-text .woocommerce) a.button,
:is(body.wootilities-woo-primary-text.woocommerce, body.wootilities-woo-primary-text .woocommerce) button.button,
:is(body.wootilities-woo-primary-text.woocommerce, body.wootilities-woo-primary-text .woocommerce) input.button,
:is(body.wootilities-woo-primary-text.woocommerce, body.wootilities-woo-primary-text .woocommerce) #respond input#submit,
body.wootilities-woo-primary-text .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline),
body.wootilities-woo-primary-text .wc-block-cart__submit-button,
body.wootilities-woo-primary-text .wc-block-components-checkout-place-order-button,
body.wootilities-woo-primary-text .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.wootilities-woo-primary-text .wp-block-woocommerce-product-button .wp-block-button__link {
	color: var(--wootilities-woocommerce-primary-text) !important;
}

:is(body.wootilities-woo-primary.woocommerce, body.wootilities-woo-primary .woocommerce) a.button:hover,
:is(body.wootilities-woo-primary.woocommerce, body.wootilities-woo-primary .woocommerce) button.button:hover,
:is(body.wootilities-woo-primary.woocommerce, body.wootilities-woo-primary .woocommerce) input.button:hover,
:is(body.wootilities-woo-primary.woocommerce, body.wootilities-woo-primary .woocommerce) #respond input#submit:hover,
body.wootilities-woo-primary .wc-block-components-button:not(.is-link):not(.outlined):not(.is-style-outline):hover,
body.wootilities-woo-primary .wp-block-woocommerce-product-button .wp-block-button__link:hover {
	filter: brightness(.9);
}

:is(body.wootilities-woo-accent.woocommerce, body.wootilities-woo-accent .woocommerce) span.onsale,
body.wootilities-woo-accent .wc-block-components-product-sale-badge,
body.wootilities-woo-accent .wc-block-components-product-low-stock-badge {
	background: var(--wootilities-woocommerce-accent) !important;
	border-color: var(--wootilities-woocommerce-accent) !important;
}

:is(body.wootilities-woo-primary-text.woocommerce, body.wootilities-woo-primary-text .woocommerce) span.onsale,
body.wootilities-woo-primary-text .wc-block-components-product-sale-badge,
body.wootilities-woo-primary-text .wc-block-components-product-low-stock-badge {
	color: var(--wootilities-woocommerce-primary-text) !important;
}

:is(body.wootilities-woo-background.woocommerce, body.wootilities-woo-background .woocommerce) form .form-row input.input-text,
:is(body.wootilities-woo-background.woocommerce, body.wootilities-woo-background .woocommerce) form .form-row textarea,
:is(body.wootilities-woo-background.woocommerce, body.wootilities-woo-background .woocommerce) form .form-row select,
body.wootilities-woo-background .wc-block-components-text-input input,
body.wootilities-woo-background .wc-block-components-combobox .components-combobox-control__input,
body.wootilities-woo-background .wc-block-components-address-form select {
	background-color: var(--wootilities-woocommerce-background) !important;
}

:is(body.wootilities-woo-border.woocommerce, body.wootilities-woo-border .woocommerce) form .form-row input.input-text,
:is(body.wootilities-woo-border.woocommerce, body.wootilities-woo-border .woocommerce) form .form-row textarea,
:is(body.wootilities-woo-border.woocommerce, body.wootilities-woo-border .woocommerce) form .form-row select,
body.wootilities-woo-border .wc-block-components-text-input input,
body.wootilities-woo-border .wc-block-components-combobox .components-combobox-control__input,
body.wootilities-woo-border .wc-block-components-address-form select {
	border-color: var(--wootilities-woocommerce-border) !important;
}

:is(body.wootilities-woo-text.woocommerce, body.wootilities-woo-text .woocommerce) form .form-row input.input-text,
:is(body.wootilities-woo-text.woocommerce, body.wootilities-woo-text .woocommerce) form .form-row textarea,
:is(body.wootilities-woo-text.woocommerce, body.wootilities-woo-text .woocommerce) form .form-row select,
body.wootilities-woo-text .wc-block-components-text-input input,
body.wootilities-woo-text .wc-block-components-combobox .components-combobox-control__input,
body.wootilities-woo-text .wc-block-components-address-form select {
	color: var(--wootilities-woocommerce-text) !important;
}

:is(body.wootilities-woo-accent.woocommerce, body.wootilities-woo-accent .woocommerce) form .form-row input.input-text:focus,
:is(body.wootilities-woo-accent.woocommerce, body.wootilities-woo-accent .woocommerce) form .form-row textarea:focus,
:is(body.wootilities-woo-accent.woocommerce, body.wootilities-woo-accent .woocommerce) form .form-row select:focus,
body.wootilities-woo-accent .wc-block-components-text-input input:focus,
body.wootilities-woo-accent .wc-block-components-combobox .components-combobox-control__input:focus {
	border-color: var(--wootilities-woocommerce-accent) !important;
	box-shadow: 0 0 0 1px var(--wootilities-woocommerce-accent) !important;
	outline-color: var(--wootilities-woocommerce-accent) !important;
}

:is(body.wootilities-woo-border.woocommerce, body.wootilities-woo-border .woocommerce) table.shop_table,
:is(body.wootilities-woo-border.woocommerce, body.wootilities-woo-border .woocommerce) table.shop_table td,
:is(body.wootilities-woo-border.woocommerce, body.wootilities-woo-border .woocommerce) table.shop_table th,
:is(body.wootilities-woo-border.woocommerce, body.wootilities-woo-border .woocommerce) div.product .woocommerce-tabs ul.tabs::before,
body.wootilities-woo-border .wc-block-components-sidebar,
body.wootilities-woo-border .wc-block-components-order-summary,
body.wootilities-woo-border .wc-block-components-totals-wrapper {
	border-color: var(--wootilities-woocommerce-border) !important;
}

body.wootilities-woo-success .woocommerce-message,
body.wootilities-woo-success .wc-block-components-notice-banner.is-success { border-color: var(--wootilities-woocommerce-success) !important; }
body.wootilities-woo-success .woocommerce-message::before,
body.wootilities-woo-success .wc-block-components-notice-banner.is-success > svg { color: var(--wootilities-woocommerce-success) !important; }
body.wootilities-woo-error .woocommerce-error,
body.wootilities-woo-error .wc-block-components-notice-banner.is-error { border-color: var(--wootilities-woocommerce-error) !important; }
body.wootilities-woo-error .woocommerce-error::before,
body.wootilities-woo-error .wc-block-components-notice-banner.is-error > svg { color: var(--wootilities-woocommerce-error) !important; }
body.wootilities-woo-info .woocommerce-info,
body.wootilities-woo-info .wc-block-components-notice-banner.is-info { border-color: var(--wootilities-woocommerce-info) !important; }
body.wootilities-woo-info .woocommerce-info::before,
body.wootilities-woo-info .wc-block-components-notice-banner.is-info > svg { color: var(--wootilities-woocommerce-info) !important; }

:is(body.wootilities-woo-accent.woocommerce, body.wootilities-woo-accent .woocommerce) .star-rating span::before,
:is(body.wootilities-woo-accent.woocommerce, body.wootilities-woo-accent .woocommerce) p.stars a,
body.wootilities-woo-accent .wc-block-components-product-rating-stars span::before {
	color: var(--wootilities-woocommerce-accent) !important;
}
