.gtg-single-product__woocommerce-cart-form {
  display: grid;
  gap: .75rem;
  margin-top: auto;
}

.gtg-single-product__woocommerce-cart-form form.cart,
.gtg-single-product__woocommerce-cart-form .variations_form {
  display: grid;
  gap: .75rem;
  margin: 0;
}

.gtg-single-product__woocommerce-cart-form table.variations {
  display: block;
  margin: 0;
  border: 0;
}

.gtg-single-product__woocommerce-cart-form table.variations tbody,
.gtg-single-product__woocommerce-cart-form table.variations tr,
.gtg-single-product__woocommerce-cart-form table.variations th,
.gtg-single-product__woocommerce-cart-form table.variations td {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.gtg-single-product__woocommerce-cart-form table.variations tr {
  display: grid;
  gap: .35rem;
  margin-bottom: .65rem;
}

.gtg-single-product__woocommerce-cart-form .label label {
  color: var(--gtg-product-muted);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.gtg-single-product__woocommerce-cart-form select,
.gtg-single-product__woocommerce-cart-form input.qty {
  width: 100%;
  min-height: 48px;
  padding: .65rem .7rem;
  border: 2px solid var(--gtg-product-ink);
  border-radius: 12px;
  background: #fff;
  color: var(--gtg-product-ink);
  font: inherit;
  font-weight: 850;
}

.gtg-single-product__woocommerce-cart-form input.qty {
  max-width: 92px;
  text-align: center;
  appearance: textfield;
  -moz-appearance: textfield;
}

.gtg-single-product__woocommerce-cart-form input.qty::-webkit-outer-spin-button,
.gtg-single-product__woocommerce-cart-form input.qty::-webkit-inner-spin-button { margin: 0; }

.gtg-single-product__woocommerce-cart-form .reset_variations {
  display: inline-flex !important;
  width: fit-content;
  margin-top: .4rem;
  color: var(--gtg-product-muted);
  font-size: .82rem;
  font-weight: 900;
  text-decoration: underline;
}

.gtg-single-product__woocommerce-cart-form .single_variation_wrap {
  display: grid;
  gap: .65rem;
}

.gtg-single-product__woocommerce-cart-form .single_variation {
  min-height: 0 !important;
}

.gtg-single-product__woocommerce-cart-form .woocommerce-variation-price {
  color: var(--gtg-product-accent);
  font-size: 1.25rem;
  font-weight: 950;
}

.gtg-single-product__woocommerce-cart-form .woocommerce-variation-availability p {
  width: fit-content;
  margin: .35rem 0 0;
  padding: .28rem .55rem;
  border: 2px solid var(--gtg-product-ink);
  border-radius: 999px;
  background: #d8efc4;
  box-shadow: 2px 2px 0 var(--gtg-product-shadow);
  color: var(--gtg-product-ink);
  font-size: .78rem;
  font-weight: 950;
}

.gtg-single-product__woocommerce-cart-form .woocommerce-variation-add-to-cart {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: .65rem;
  align-items: end;
}

.gtg-single-product__woocommerce-cart-form .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .68rem .9rem;
  border: 2px solid var(--gtg-product-ink) !important;
  border-radius: 14px !important;
  background: var(--gtg-product-accent) !important;
  color: #fff !important;
  box-shadow: 4px 4px 0 var(--gtg-product-shadow);
  font: inherit;
  font-weight: 950;
  text-decoration: none !important;
  cursor: pointer;
  opacity: 1 !important;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.gtg-single-product__woocommerce-cart-form .single_add_to_cart_button:hover {
  filter: brightness(1.03);
  transform: translate(1px, 1px);
  box-shadow: 3px 3px 0 var(--gtg-product-shadow);
}

.gtg-single-product__woocommerce-cart-form .single_add_to_cart_button:active {
  transform: translate(4px, 4px);
  box-shadow: 0 0 0 var(--gtg-product-shadow);
}

.gtg-single-product__woocommerce-cart-form .single_add_to_cart_button.disabled,
.gtg-single-product__woocommerce-cart-form .single_add_to_cart_button.wc-variation-selection-needed {
  cursor: not-allowed;
  filter: grayscale(.1);
  opacity: .72 !important;
}

.gtg-single-product--gift-card .gtg-single-product__woocommerce-cart-form .woocommerce-variation-add-to-cart {
  margin-top: .2rem;
}

@media (max-width: 560px) {
  .gtg-single-product__woocommerce-cart-form .woocommerce-variation-add-to-cart {
    grid-template-columns: 82px minmax(0, 1fr);
  }
}
