.quantity {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  width: 100% !important;
}

form.cart {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.single_add_to_cart_button {
  display: block;
  width: 100%;
  height: 52px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 500;
  background: #0f6e56;
  border-color: #0f6e56;
  color: #ffffff;
  margin-top: 12px !important;
}

.single_add_to_cart_button:hover {
  background: #0b5744;
  border-color: #0b5744;
}

/* !important here beats Divi's auto-generated module selector
   (.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body input),
   which only targets <input> elements — that's why the buttons
   below were unaffected and only this rule needed it. */
.quantity input.qty {
  width: auto !important;
  height: 44px !important;
  text-align: center !important;
  background: #ffffff !important;
  border: 2px solid #0f6e56 !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #14355e !important;
  -moz-appearance: textfield;
  flex: 1 !important;
}

.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* #id#id repeats the ID selector, adding a second ID-reference to our
   specificity count. Divi's competing rule has one ID; this has two,
   which wins the comparison outright regardless of Divi's class count. */
#ob-qty-input#ob-qty-input {
  width: 56px !important;
  height: 44px !important;
  text-align: center !important;
  background: #ffffff !important;
  border: 2px solid #0f6e56 !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #14355e !important;
  max-width: none;
}

/* Minus: neutral, outlined */
.ob-qty-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 2px solid #14355e;
  background: #ffffff;
  font-size: 18px;
  font-weight: 500;
  color: #14355e;
  cursor: pointer;
  flex: 0 0 44px;
}

.ob-qty-btn:hover {
  background: #f4f6f8;
}

/* Plus: filled accent, matches the CTA below it */
.ob-qty-btn.ob-qty-plus {
  background: #0f6e56;
  border-color: #0f6e56;
  color: #ffffff;
}

.ob-qty-btn.ob-qty-plus:hover {
  background: #0b5744;
  border-color: #0b5744;
}
