/* ACCESSMATE PUBLIC BUTTON CENTER FIX START */
/* Applies to public landing, agent landing, checkout/select, checkout/details, thank-you */

:root {
  --am-btn-radius: 18px;
  --am-btn-min-height: 68px;
}

/* General public buttons */
.public-page a[class*="btn"],
.public-page button[class*="btn"],
.landing-page a[class*="btn"],
.landing-page button[class*="btn"],
.checkout-card a,
.checkout-card button,
.select-card a,
.select-card button,
.thank-you-card a,
.thank-you-card button,
.uc-card a,
.uc-card button,
.bot-btn,
.pay-btn,
.redeem-btn,
.cta-btn,
.checkout-btn,
.subscribe-btn,
#applyCouponBtn,
#redeemWrap .redeem-btn,
#redeemForm .redeem-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  vertical-align: middle !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  min-height: var(--am-btn-min-height) !important;
  border-radius: var(--am-btn-radius) !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  box-sizing: border-box !important;
}

/* Landing official + agent checkout buttons */
a[href*="/checkout/select"],
a[href*="/checkout/details"],
button[onclick*="/checkout/select"],
button[onclick*="/checkout/details"],
[data-checkout-url],
.lb-section-subscribe-after a,
.lb-section-subscribe-after button,
.landing-checkout-button,
.landing-subscribe-button,
.landing-cta-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.12 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Checkout select / open Telegram bot */
.bot-btn {
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: clamp(20px, 4.6vw, 30px) !important;
  letter-spacing: .045em !important;
}

/* Coupon apply button */
#applyCouponBtn {
  justify-content: center !important;
  text-align: center !important;
  font-size: clamp(15px, 3.4vw, 18px) !important;
  letter-spacing: .02em !important;
}

/* Payment button row */
.pay-row,
#payRow {
  align-items: stretch !important;
}

/* Stripe / ZenPay button */
.pay-btn,
#stripeForm .pay-btn,
#zenpayForm .pay-btn {
  width: 100% !important;
  min-height: 86px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 14px !important;
  line-height: 1.12 !important;
  padding: 16px 18px !important;
}

/* Logo inside payment button */
.pay-logo {
  flex: 0 0 auto !important;
  margin-right: 0 !important;
}

/* Text inside Stripe / ZenPay */
.pay-copy {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.pay-copy span,
.pay-copy small {
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  line-height: 1.12 !important;
}

.pay-copy span {
  font-size: clamp(18px, 4vw, 22px) !important;
  letter-spacing: .02em !important;
}

.pay-copy small {
  font-size: clamp(12px, 3vw, 14px) !important;
  margin-top: 5px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Redeem free button */
.redeem-btn,
#redeemWrap .redeem-btn,
#redeemForm .redeem-btn {
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: clamp(20px, 4.7vw, 28px) !important;
  letter-spacing: .04em !important;
}

/* Thank you page invite button */
#thankYouInviteButton,
.thank-you-invite-btn,
a[href*="t.me"],
a[href*="telegram"] {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

/* Mobile and large phone fix */
@media (max-width: 768px) {
  .bot-btn,
  .redeem-btn,
  #redeemWrap .redeem-btn,
  #redeemForm .redeem-btn {
    min-height: 72px !important;
    font-size: clamp(19px, 5.3vw, 26px) !important;
    padding: 16px 18px !important;
  }

  .pay-btn,
  #stripeForm .pay-btn,
  #zenpayForm .pay-btn {
    min-height: 84px !important;
    padding: 14px 14px !important;
    gap: 12px !important;
  }

  .pay-logo {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
  }

  .pay-logo img {
    max-width: 40px !important;
    max-height: 30px !important;
  }

  .pay-copy span {
    font-size: clamp(17px, 5vw, 21px) !important;
  }

  .pay-copy small {
    font-size: clamp(11px, 3.5vw, 13px) !important;
  }

  #applyCouponBtn {
    width: 100% !important;
    min-height: 64px !important;
  }
}

/* Very narrow phone */
@media (max-width: 420px) {
  .pay-btn,
  #stripeForm .pay-btn,
  #zenpayForm .pay-btn {
    gap: 10px !important;
  }

  .pay-logo {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 12px !important;
  }

  .pay-copy span {
    font-size: 18px !important;
  }

  .pay-copy small {
    font-size: 12px !important;
  }
}

/* ACCESSMATE PUBLIC BUTTON CENTER FIX END */
