/* =========================
   BUTTONS  -  soft rectangle via --mc-radius-btn (4px)
   Base:    .mc-btn         -  structural properties shared by all variants
   Primary: .mc-btn--primary  and single-class alias  .btn
   Ghost:   .mc-btn--ghost
   --mc-radius-pill (999px) is reserved for tags/badges only, never buttons.
========================= */

/* -- Shared base: layout, size, typography -- */
.mc-btn,
.btn,
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce #respond input#submit,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt,
body.woocommerce .add_to_cart_button,
body.woocommerce .single_add_to_cart_button,
body.woocommerce .checkout-button,
body.woocommerce #place_order,
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 2.2rem;
  border: none;
  border-radius: var(--mc-radius-btn);
  font-size: 0.88rem;
  font-weight: 800;
  font-family: var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

/* -- Primary CTA  -  green soft rectangle, bottom-to-top rising fill on hover ----------
   .btn          canonical single-class alias (new templates)
   .mc-btn--primary  BEM variant used in all existing templates
   WooCommerce and Gravity Forms CTA buttons extend the same spec.
-------------------------------------------------------------------------- */
.btn,
.mc-btn--primary,
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce #respond input#submit,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt,
body.woocommerce .add_to_cart_button,
body.woocommerce .single_add_to_cart_button,
body.woocommerce .checkout-button,
body.woocommerce #place_order,
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--mc-green);
  color: var(--mc-white);
  transition: color 0.3s ease, transform 0.2s ease;
}

/* Rising fill  -  ::before scales from 0 at the bottom edge to full height */
.btn::before,
.mc-btn--primary::before,
body.woocommerce a.button::before,
body.woocommerce button.button::before,
body.woocommerce input.button::before,
body.woocommerce #respond input#submit::before,
body.woocommerce a.button.alt::before,
body.woocommerce button.button.alt::before,
body.woocommerce .add_to_cart_button::before,
body.woocommerce .single_add_to_cart_button::before,
body.woocommerce .checkout-button::before,
body.woocommerce #place_order::before,
.gform_wrapper .gform_button::before,
.gform_wrapper input[type="submit"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--mc-near-black);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.3s ease;
  z-index: -1;
}

.btn:hover::before,
.mc-btn--primary:hover::before,
body.woocommerce a.button:hover::before,
body.woocommerce button.button:hover::before,
body.woocommerce input.button:hover::before,
body.woocommerce #respond input#submit:hover::before,
body.woocommerce a.button.alt:hover::before,
body.woocommerce button.button.alt:hover::before,
body.woocommerce .add_to_cart_button:hover::before,
body.woocommerce .single_add_to_cart_button:hover::before,
body.woocommerce .checkout-button:hover::before,
body.woocommerce #place_order:hover::before,
.gform_wrapper .gform_button:hover::before,
.gform_wrapper input[type="submit"]:hover::before {
  transform: scaleY(1);
}

.btn:hover,
.mc-btn--primary:hover,
body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce #respond input#submit:hover,
body.woocommerce a.button.alt:hover,
body.woocommerce button.button.alt:hover,
body.woocommerce .add_to_cart_button:hover,
body.woocommerce .single_add_to_cart_button:hover,
body.woocommerce .checkout-button:hover,
body.woocommerce #place_order:hover,
.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover {
  transform: translateY(-2px);
  color: var(--mc-green);
}

.btn:focus-visible,
.mc-btn--primary:focus-visible,
body.woocommerce a.button:focus-visible,
body.woocommerce button.button:focus-visible,
body.woocommerce input.button:focus-visible,
body.woocommerce .add_to_cart_button:focus-visible,
body.woocommerce .single_add_to_cart_button:focus-visible,
body.woocommerce .checkout-button:focus-visible,
body.woocommerce #place_order:focus-visible,
.gform_wrapper .gform_button:focus-visible,
.gform_wrapper input[type="submit"]:focus-visible {
  outline: 2px solid var(--mc-green);
  outline-offset: 3px;
}

/* -- Ghost variant -- */
.mc-btn--ghost {
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.22);
  color: var(--mc-white);
  transition: border-color 180ms ease, color 180ms ease;
}

.mc-btn--ghost:hover {
  border-color: var(--mc-green);
  color: var(--mc-green);
}

.mc-btn--ghost:focus-visible {
  outline: 2px solid var(--mc-green);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .btn::before,
  .mc-btn--primary::before,
  body.woocommerce a.button::before,
  body.woocommerce button.button::before,
  body.woocommerce input.button::before,
  body.woocommerce #respond input#submit::before,
  body.woocommerce a.button.alt::before,
  body.woocommerce button.button.alt::before,
  body.woocommerce .add_to_cart_button::before,
  body.woocommerce .single_add_to_cart_button::before,
  body.woocommerce .checkout-button::before,
  body.woocommerce #place_order::before,
  .gform_wrapper .gform_button::before,
  .gform_wrapper input[type="submit"]::before {
    transition: none;
  }
  .btn,
  .mc-btn--primary,
  body.woocommerce a.button,
  body.woocommerce button.button,
  body.woocommerce input.button,
  body.woocommerce #respond input#submit,
  body.woocommerce a.button.alt,
  body.woocommerce button.button.alt,
  body.woocommerce .add_to_cart_button,
  body.woocommerce .single_add_to_cart_button,
  body.woocommerce .checkout-button,
  body.woocommerce #place_order,
  .gform_wrapper .gform_button,
  .gform_wrapper input[type="submit"] {
    transition: none;
  }
  .btn:hover,
  .mc-btn--primary:hover,
  body.woocommerce a.button:hover,
  body.woocommerce button.button:hover,
  body.woocommerce input.button:hover,
  body.woocommerce #respond input#submit:hover,
  body.woocommerce a.button.alt:hover,
  body.woocommerce button.button.alt:hover,
  body.woocommerce .add_to_cart_button:hover,
  body.woocommerce .single_add_to_cart_button:hover,
  body.woocommerce .checkout-button:hover,
  body.woocommerce #place_order:hover,
  .gform_wrapper .gform_button:hover,
  .gform_wrapper input[type="submit"]:hover {
    transform: none;
  }
  .mc-btn--ghost {
    transition: none;
  }
}
