/*
 * E.SI' — Cart, checkout, account pages
 */

.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
  font-family: var(--esi-font-body);
  color: var(--esi-text);
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt {
  background-color: var(--esi-black);
  color: var(--esi-white);
  border: 0;
  border-radius: 0;
  padding: var(--esi-sp-3) var(--esi-sp-8);
  font-family: var(--esi-font-body);
  font-weight: var(--esi-weight-bold);
  font-size: var(--esi-fs-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-shadow: none;
  transition: background-color var(--esi-transition);
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce .button:focus-visible,
.woocommerce a.button:focus-visible {
  background-color: var(--esi-accent);
  color: var(--esi-white);
}

.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce button.button:disabled {
  background-color: var(--esi-gray-light);
  color: var(--esi-black);
  opacity: 1;
  cursor: not-allowed;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce table.cart td.actions .coupon .input-text {
  border: 1px solid var(--esi-black);
  border-radius: 0;
  background-color: var(--esi-white);
  padding: var(--esi-sp-3);
  font: inherit;
  color: var(--esi-text);
  box-shadow: none;
}

.woocommerce .select2-container .select2-selection--single {
  height: auto;
  margin: 0;
  display: flex;
  align-items: center;
}

.woocommerce
  .select2-container
  .select2-selection--single
  .select2-selection__rendered {
  flex: 1;
  min-width: 0;
  padding-left: 0;
  padding-right: var(--esi-sp-4);
  line-height: normal;
  color: inherit;
}

.woocommerce
  .select2-container
  .select2-selection--single
  .select2-selection__placeholder {
  color: var(--esi-gray);
}

.woocommerce
  .select2-container
  .select2-selection--single
  .select2-selection__arrow {
  height: 100%;
  top: 0;
  right: var(--esi-sp-2);
}

.woocommerce .esi-privacy-consent {
  margin-block: var(--esi-sp-4);
}

.woocommerce .esi-privacy-consent label.checkbox {
  display: block;
  position: relative;
  padding-left: 1.7em;
  font-size: var(--esi-fs-sm);
  line-height: 1.5;
}

.woocommerce .esi-privacy-consent input[type="checkbox"] {
  position: absolute;
  left: 0;
  top: 0.25em;
  margin: 0;
}

.woocommerce .esi-privacy-consent a {
  color: var(--esi-accent);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.woocommerce form .form-row label {
  font-size: var(--esi-fs-sm);
  font-weight: var(--esi-weight-medium);
}

.woocommerce form .form-row .required {
  color: var(--esi-accent);
  text-decoration: none;
}

.woocommerce table.shop_table {
  border: 1px solid var(--esi-black);
  border-radius: 0;
  border-collapse: collapse;
}

.woocommerce table.shop_table th {
  background-color: var(--esi-black);
  color: var(--esi-white);
  font-family: var(--esi-font-body);
  font-size: var(--esi-fs-sm);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: var(--esi-sp-3) var(--esi-sp-4);
}

.woocommerce table.shop_table td {
  border-top: 1px solid var(--esi-gray-light);
  padding: var(--esi-sp-4);
}

.woocommerce table.shop_table .product-remove a.remove {
  color: var(--esi-accent) !important;
  font-weight: var(--esi-weight-bold);
  border-radius: 0;
}

.woocommerce table.shop_table .product-remove a.remove::before {
  color: inherit;
}

.woocommerce table.shop_table .product-remove a.remove:hover {
  background-color: var(--esi-accent);
  color: var(--esi-white) !important;
}

.woocommerce .quantity .qty {
  border: 1px solid var(--esi-black);
  border-radius: 0;
  padding: var(--esi-sp-2);
}

.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review_heading {
  font-size: var(--esi-fs-lg);
  padding-bottom: var(--esi-sp-3);
  border-bottom: var(--esi-border-width) solid var(--esi-black);
}

.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout .order-total .amount {
  color: var(--esi-accent);
  font-size: var(--esi-fs-md);
}

.woocommerce-checkout h3 {
  font-size: var(--esi-fs-lg);
  padding-bottom: var(--esi-sp-3);
  margin-bottom: var(--esi-sp-6);
  border-bottom: var(--esi-border-width) solid var(--esi-black);
}

.woocommerce-checkout #payment {
  background-color: transparent;
  border: 1px solid var(--esi-black);
  border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--esi-gray-light);
  padding: var(--esi-sp-6);
}

.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: var(--esi-sp-4);
}

.woocommerce-checkout #payment input[type="radio"],
.woocommerce-checkout #payment input[type="checkbox"] {
  accent-color: var(--esi-accent);
}

.woocommerce-checkout
  #payment
  .payment_methods
  li
  input[type="radio"]:first-child:checked
  + label::before {
  color: var(--esi-accent);
}

.woocommerce-checkout #payment div.payment_box {
  background-color: var(--esi-bg-muted);
  border-radius: 0;
  font-size: var(--esi-fs-sm);
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--esi-bg-muted);
}

.woocommerce-checkout #payment fieldset.wc-payment-form,
.woocommerce-checkout #payment .wc-stripe-upe-element {
  background-color: var(--esi-bg-muted);
}

.woocommerce-checkout #payment div.form-row {
  padding: var(--esi-sp-6);
}

.woocommerce-checkout #payment #place_order {
  width: 100%;
  font-size: var(--esi-fs-base);
  padding: var(--esi-sp-4);
}

.woocommerce-form-login,
.woocommerce-form-coupon {
  border: 1px solid var(--esi-black);
  border-radius: 0;
  padding: var(--esi-sp-6);
}

.woocommerce-form-login__rememberme {
  display: block;
  margin-bottom: var(--esi-sp-4);
}

.woocommerce .password-input {
  display: block;
  position: relative;
}

.woocommerce .password-input input.input-text {
  padding-right: var(--esi-sp-8);
}

.woocommerce .show-password-input {
  top: 1px;
  right: 1px;
  bottom: 1px;
  display: flex;
  align-items: center;
  padding: 0 var(--esi-sp-3);
  background-color: transparent;
  color: var(--esi-black);
  line-height: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-account
  .hentry
  .entry-content
  .woocommerce-MyAccount-navigation
  ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--esi-black);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--esi-gray-light);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a,
.woocommerce-account
  .hentry
  .entry-content
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link
  a {
  display: block;
  padding: var(--esi-sp-3) var(--esi-sp-4);
  font-size: var(--esi-fs-sm);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background-color: var(--esi-black);
  color: var(--esi-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  color: var(--esi-accent);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover {
  color: var(--esi-white);
}

@media (max-width: 47.9375rem) {

  .woocommerce-account .woocommerce-MyAccount-content {
    margin-top: var(--esi-sp-6);
  }

  .woocommerce-account table.my_account_orders {
    border: 0;
  }

  .woocommerce-account table.my_account_orders tbody tr {
    display: block;
    border: 1px solid var(--esi-black);
  }

  .woocommerce-account table.my_account_orders tbody tr + tr {
    margin-top: var(--esi-sp-6);
  }

  .woocommerce table.cart td.product-remove {
    padding: var(--esi-sp-3) var(--esi-sp-3) 0;
    text-align: right;
  }

  .woocommerce table.cart td.product-remove a.remove {
    position: relative;
    top: auto;
    right: auto;
    display: inline-block;
  }
}

@media (pointer: coarse) {

  .woocommerce .button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce a.button,
  .woocommerce #respond input#submit {
    min-height: 44px;
  }
}
.woocommerce-order-withdrawal-content__note {
	display: block;
	margin-bottom: var(--esi-sp-4);
}

.woocommerce-order-withdrawal-content__actions {
	margin-top: var(--esi-sp-8);
}

.esi-withdrawal__title {
	margin-bottom: var(--esi-sp-6);
	font-size: var(--esi-fs-xl);
	font-weight: var(--esi-weight-medium);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

