/* OGBN for WooCommerce frontend styles */
.ogbn-button,
.woocommerce a.button.ogbn-button,
.woocommerce button.button.ogbn-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 12px 18px;
  border-radius: var(--ogbn-radius, 4px);
  font-size: var(--ogbn-font-size, 14px);
  font-weight: var(--ogbn-font-weight, 600);
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
  box-sizing: border-box;
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
}

.ogbn-style-filled,
.woocommerce a.button.ogbn-style-filled,
.woocommerce button.button.ogbn-style-filled {
  background: var(--ogbn-secondary, #9A7A6D) !important;
  border: 1px solid var(--ogbn-secondary, #9A7A6D) !important;
  color: var(--ogbn-text, #fff) !important;
}

.ogbn-style-outline,
.woocommerce a.button.ogbn-style-outline,
.woocommerce button.button.ogbn-style-outline {
  background: transparent !important;
  border: 1px solid var(--ogbn-primary, #375D38) !important;
  color: var(--ogbn-primary, #375D38) !important;
}

.ogbn-style-soft,
.woocommerce a.button.ogbn-style-soft,
.woocommerce button.button.ogbn-style-soft {
  background: rgba(55, 93, 56, 0.10) !important;
  border: 1px solid rgba(55, 93, 56, 0.18) !important;
  color: var(--ogbn-primary, #375D38) !important;
}

.ogbn-button:hover,
.ogbn-button:focus,
.ogbn-button:active,
.woocommerce a.button.ogbn-button:hover,
.woocommerce a.button.ogbn-button:focus,
.woocommerce a.button.ogbn-button:active,
.woocommerce button.button.ogbn-button:hover,
.woocommerce button.button.ogbn-button:focus,
.woocommerce button.button.ogbn-button:active {
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.ogbn-style-filled:hover,
.ogbn-style-filled:focus,
.ogbn-style-filled:active,
.woocommerce a.button.ogbn-style-filled:hover,
.woocommerce a.button.ogbn-style-filled:focus,
.woocommerce a.button.ogbn-style-filled:active,
.woocommerce button.button.ogbn-style-filled:hover,
.woocommerce button.button.ogbn-style-filled:focus,
.woocommerce button.button.ogbn-style-filled:active {
  background: var(--ogbn-secondary, #9A7A6D) !important;
  border-color: var(--ogbn-secondary, #9A7A6D) !important;
  color: var(--ogbn-text, #fff) !important;
}

.ogbn-style-outline:hover,
.ogbn-style-outline:focus,
.ogbn-style-outline:active,
.woocommerce a.button.ogbn-style-outline:hover,
.woocommerce a.button.ogbn-style-outline:focus,
.woocommerce a.button.ogbn-style-outline:active,
.woocommerce button.button.ogbn-style-outline:hover,
.woocommerce button.button.ogbn-style-outline:focus,
.woocommerce button.button.ogbn-style-outline:active {
  background: transparent !important;
  border-color: var(--ogbn-primary, #375D38) !important;
  color: var(--ogbn-primary, #375D38) !important;
}

.ogbn-style-soft:hover,
.ogbn-style-soft:focus,
.ogbn-style-soft:active,
.woocommerce a.button.ogbn-style-soft:hover,
.woocommerce a.button.ogbn-style-soft:focus,
.woocommerce a.button.ogbn-style-soft:active,
.woocommerce button.button.ogbn-style-soft:hover,
.woocommerce button.button.ogbn-style-soft:focus,
.woocommerce button.button.ogbn-style-soft:active {
  background: rgba(55, 93, 56, 0.10) !important;
  border-color: rgba(55, 93, 56, 0.18) !important;
  color: var(--ogbn-primary, #375D38) !important;
}

/* Single product page: keep Add to Cart and Buy Now beside each other. */
.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ogbn-single-gap, 10px);
}

.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) .quantity,
.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button,
.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) .ogbn-context-single {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ogbn-single-gap, 10px);
}

.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .quantity,
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .ogbn-context-single {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.ogbn-context-single {
  margin-left: 0 !important;
  white-space: nowrap;
}


/* Single product equal-height action buttons */
.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form),
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart {
  align-items: stretch;
}

.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button,
.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) .ogbn-context-single,
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .ogbn-context-single {
  min-height: 46px !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) .ogbn-context-single,
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .ogbn-context-single {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.ogbn-loop-wrap {
  margin-top: var(--ogbn-loop-gap, 8px);
}

.ogbn-loop-wrap .ogbn-button {
  width: 100%;
}

@media (max-width: 767px) {
  .woocommerce div.product form.cart:not(.variations_form):not(.grouped_form),
  .woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart {
    align-items: stretch;
  }

  .woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button,
  .woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) .ogbn-context-single,
  .woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .ogbn-context-single {
    flex: 1 1 calc(50% - var(--ogbn-single-gap, 10px));
    min-width: 140px;
  }
}
