body {
  --wc-form-border-color: var(--wp--preset--color--contrast-medium);
  --wc-form-border-radius: var(--wp--custom--radius--small);
  --wc-form-border-width: 1px;
  --wc-form-color-background: var(--wp--preset--color--base);
  --wc-form-color-text: var(--wp--preset--color--contrast);
  --wp--preset--font-size--x-small: var(--wp--preset--font-size--xs);
  --wp--preset--font-size--small: var(--wp--preset--font-size--s);
  --wp--preset--font-size--normal: var(--wp--preset--font-size--s);
  --wp--preset--font-size--medium: var(--wp--preset--font-size--m);
  --wp--preset--font-size--large: var(--wp--preset--font-size--l);
  --wp--preset--font-size--x-large: var(--wp--preset--font-size--xl);
  --wp--preset--font-size--huge: var(--wp--preset--font-size--xxl);
  --wp--preset--spacing--20: var(--wp--preset--spacing--s);
  --wp--preset--spacing--30: var(--wp--preset--spacing--m);
  --wp--preset--spacing--40: var(--wp--preset--spacing--l);
  --wp--preset--color--background: var(--wp--preset--color--base);
  --wp--preset--color--foreground: var(--wp--preset--color--contrast);
  --wp--preset--color--contrast-2: var(--wp--preset--color--contrast-dark);
}

html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) .input-text,
html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) input.qty,
html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) select,
html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) textarea {
  background-color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--contrast-medium);
  border-radius: var(--wp--custom--radius--small);
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--s);
  line-height: 1.5;
  padding: var(--wp--preset--spacing--xs) 0.75rem;
}

html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) textarea {
  min-height: 8rem;
}

html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) select {
  padding-inline-end: 2.25rem;
}

html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) :is(.input-text, input.qty, select, textarea):focus {
  outline: var(--wp--custom--outline--width) var(--wp--custom--outline--style) var(--wp--custom--outline--color);
  outline-offset: var(--wp--custom--outline--offset);
}

html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) :is(.input-text, input.qty, select, textarea):focus:not(:focus-visible) {
  outline: none;
}

html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) .form-row label,
html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) .comment-form label {
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) .comment-form-cookies-consent label,
html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) .woocommerce-form__label-for-checkbox,
html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) .form-row label:has(input[type=checkbox]) {
  align-items: center;
  display: inline-flex;
  font-size: var(--wp--preset--font-size--s);
  font-weight: 400;
  gap: 0.5em;
  letter-spacing: normal;
  text-transform: none;
}

html :where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-add-to-cart-form, .wp-block-woocommerce-catalog-sorting) .required {
  color: inherit;
  text-decoration: none;
}

html :is(.woocommerce, .woocommerce-page) form .form-row :is(input.input-text, select, textarea.input-text) {
  line-height: 1.5;
  padding: var(--wp--preset--spacing--xs) 0.75rem;
}

html :is(.woocommerce, .woocommerce-page) form .form-row .select2-container .select2-selection--single {
  background-color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--contrast-medium);
  border-radius: var(--wp--custom--radius--small);
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--s);
  line-height: 1.5;
  height: auto;
  padding: 0;
}

html :is(.woocommerce, .woocommerce-page) form .form-row .select2-container .select2-selection--single .select2-selection__rendered {
  color: inherit;
  line-height: 1.5;
  padding: var(--wp--preset--spacing--xs) 2.25rem var(--wp--preset--spacing--xs) 0.75rem;
}

html :is(.woocommerce, .woocommerce-page) form .form-row .select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
}

html .select2-dropdown {
  border-color: var(--wp--preset--color--contrast-medium);
}

html .woocommerce :is(form.login, form.register, form.lost_reset_password) {
  border: 0;
  margin-block: 0;
  max-width: 32rem;
  padding: 0;
}

html .woocommerce-account .woocommerce :is(h2, h3) {
  font-size: var(--wp--preset--font-size--xl);
}

html .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--s);
}

html .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) .woocommerce-form-login__submit {
  float: none;
  margin: 0;
  order: -1;
}

html .woocommerce .lost_password {
  font-size: var(--wp--preset--font-size--xs);
  margin-top: var(--wp--preset--spacing--m);
}

html .woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

html .woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--wp--preset--color--contrast-light);
  margin: 0;
}

html .woocommerce-account .woocommerce-MyAccount-navigation ul a {
  color: var(--wp--preset--color--contrast);
  display: block;
  padding: 0.6rem 0;
  text-decoration: none;
}

html .woocommerce-account .woocommerce-MyAccount-navigation ul .is-active a {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--wp--preset--color--primary);
}

html .woocommerce-account .addresses .title .edit {
  float: none;
}

html .woocommerce-account address {
  font-style: normal;
}

html .woocommerce table.variations {
  margin-bottom: var(--wp--preset--spacing--s);
}

html .woocommerce table.variations th,
html .woocommerce table.variations td {
  padding-block: 0.25rem;
  vertical-align: middle;
}

html .woocommerce table.variations label {
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

html .woocommerce table.variations tr td select {
  font-size: var(--wp--preset--font-size--s);
  height: auto;
  padding: var(--wp--preset--spacing--xs) 2.25rem var(--wp--preset--spacing--xs) 0.75rem;
}

html .woocommerce table.variations .reset_variations {
  font-size: var(--wp--preset--font-size--xs);
}

html .woocommerce div.product form.cart .variations select {
  background-color: var(--wp--preset--color--base);
}

html .woocommerce .single_add_to_cart_button.button:is(.disabled, :disabled),
html .woocommerce .single_add_to_cart_button.button:is(.disabled, :disabled):hover {
  background-color: var(--wp--preset--color--contrast-light);
  color: var(--wp--preset--color--contrast-dark);
  cursor: not-allowed;
  opacity: 1;
}

html #review_form :is(input[type=text], input[type=email]) {
  background-color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--contrast-medium);
  border-radius: var(--wp--custom--radius--small);
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--s);
  line-height: 1.5;
  display: block;
  max-width: 32rem;
  padding: var(--wp--preset--spacing--xs) 0.75rem;
  width: 100%;
}

html .woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--wp--preset--color--contrast-medium);
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--m);
  margin: 0 0 var(--wp--preset--spacing--l);
  overflow: visible;
  padding: 0;
}

html .woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none;
}

html .woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

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

html .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  border-bottom: var(--wp--custom--navigation--underline--height) solid transparent;
  color: var(--wp--preset--color--contrast-dark);
  font-size: var(--wp--preset--font-size--s);
  font-weight: 600;
  margin-bottom: -1px;
  padding: var(--wp--preset--spacing--s) 0;
  text-decoration: none;
}

html .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: none;
}

html .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  border-bottom-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--contrast);
}

html .woocommerce div.product .woocommerce-tabs .panel {
  margin-bottom: 0;
}

html .woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
html .woocommerce div.product .woocommerce-tabs .panel .woocommerce-Reviews-title {
  font-size: var(--wp--preset--font-size--xl);
}

html .wc-block-next-previous-buttons__button {
  background-color: color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent);
  border-radius: 50%;
  color: var(--wp--preset--color--contrast);
  padding: var(--wp--preset--spacing--xs);
}

html .wc-block-next-previous-buttons__button:hover, html .wc-block-next-previous-buttons__button:focus {
  background-color: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
}

html .wc-block-next-previous-buttons__button[aria-disabled=true] {
  opacity: 0.4;
}

html .wc-block-product-gallery-thumbnails__thumbnail__image {
  border-radius: var(--wp--custom--radius--small);
}

html .wc-block-product-gallery-thumbnails__thumbnail__image--is-active {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-text-input input,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-textarea,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-blocks-components-select .wc-blocks-components-select__container,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-blocks-components-select .wc-blocks-components-select__select {
  background-color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--contrast-medium);
  border-radius: var(--wp--custom--radius--small);
  color: var(--wp--preset--color--contrast);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .has-error input,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .has-error .wc-blocks-components-select__container {
  border-color: currentcolor;
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-text-input input:focus,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-textarea:focus,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--wp--custom--outline--color);
  box-shadow: 0 0 0 1px var(--wp--custom--outline--color);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) {
  /* stylelint-disable no-descending-specificity */
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-text-input label,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-blocks-components-select label {
  color: var(--wp--preset--color--contrast-dark);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) {
  /* stylelint-enable no-descending-specificity */
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-checkbox .wc-block-components-checkbox__input {
  background-color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--contrast-medium);
  border-radius: 0.25rem;
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: var(--wp--preset--color--contrast);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-radio-control__input {
  background-color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--contrast-medium);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-radio-control__input:checked::before {
  background: var(--wp--preset--color--primary);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-title.wc-block-components-title,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--l);
  font-weight: 700;
  text-transform: uppercase;
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-product-badge.wc-block-components-sale-badge {
  background-color: var(--wp--preset--color--primary);
  border: 0;
  border-radius: var(--wp--custom--radius--small);
  color: var(--wp--preset--color--contrast);
  font-weight: 700;
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-checkout-step {
  margin-bottom: var(--wp--preset--spacing--l);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-radio-control--highlight-checked::after,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option::after,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option::after,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wp-block-woocommerce-checkout-order-summary-block,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-address-card {
  border-color: var(--wp--preset--color--contrast-medium);
  border-radius: var(--wp--custom--radius--small);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-radius: var(--wp--custom--radius--small);
  box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--contrast);
}

html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-totals-item__label,
html :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) .wc-block-components-totals-coupon .wc-block-components-panel__button {
  color: var(--wp--preset--color--contrast);
}

html .wc-block-components-notice-banner {
  border-radius: var(--wp--custom--radius--small);
  color: var(--wp--preset--color--contrast);
  font-size: var(--wp--preset--font-size--xs);
}

html .wc-block-components-notice-banner.is-success, html .wc-block-components-notice-banner.is-info {
  background-color: var(--wp--preset--color--contrast-light);
}

html .wc-block-components-notice-banner.is-success {
  border-color: var(--wp--preset--color--tertiary);
}

html .wc-block-components-notice-banner.is-success > svg {
  background-color: var(--wp--preset--color--tertiary);
  fill: var(--wp--preset--color--base);
}

html .wc-block-components-notice-banner.is-info {
  border-color: var(--wp--preset--color--secondary);
}

html .wc-block-components-notice-banner.is-info > svg {
  background-color: var(--wp--preset--color--secondary);
  fill: var(--wp--preset--color--base);
}

html .wc-block-components-notice-banner .wc-block-components-notice-banner__content .wc-forward {
  color: var(--wp--preset--color--contrast);
  font-weight: 600;
}

html .wc-block-mini-cart__drawer .wc-block-components-button.wc-block-components-button:not(.is-link).outlined,
html .wc-block-mini-cart__drawer .wc-block-components-button.wc-block-components-button:not(.is-link).is-style-outline {
  border-color: currentcolor;
  color: var(--wp--preset--color--contrast);
}

html .wc-block-mini-cart__drawer .wc-block-components-button.wc-block-components-button:not(.is-link).outlined:hover, html .wc-block-mini-cart__drawer .wc-block-components-button.wc-block-components-button:not(.is-link).outlined:focus,
html .wc-block-mini-cart__drawer .wc-block-components-button.wc-block-components-button:not(.is-link).is-style-outline:hover,
html .wc-block-mini-cart__drawer .wc-block-components-button.wc-block-components-button:not(.is-link).is-style-outline:focus {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
}

html .wc-block-mini-cart__drawer .wc-block-mini-cart__title {
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--l);
  text-transform: uppercase;
}

html .wc-block-components-drawer__screen-overlay--is-hidden {
  transition: opacity 0.3s, visibility 0s 0.3s;
  visibility: hidden;
}
