/**
 * CTA font size — 17px. Period. Nothing larger. Ever.
 * Loaded last in layouts so it wins. Do not add larger overrides.
 */

.btn-primary,
a.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary,
input[type="button"].btn-primary,
.btn-primary.btn-sm,
.btn-primary.btn-lg,
.btn:not(.btn-sm):not(.btn-lg).btn-primary,
.sg-jump.btn-primary,
#sgSubmitBtn,
.esa-pp__cta.btn-primary,
.esa-rp a.btn-primary,
.esa-flow a.btn-primary,
.esa-flow button.btn-primary,
.card-product-offer__cta .btn,
.card-product-offer__cta .btn-primary,
.esa-plans-grid .esa-plan__cta .btn,
.esa-plans-grid .esa-plan__cta .btn-primary,
.btn-red,
a.btn-red,
button.btn-red,
.btn-yellow,
a.btn-yellow,
.verify-demo__card .btn,
.verify-demo__form-actions .btn,
.btn.with-pulsing,
.survey-form__submit-block .btn,
.survey-form__submit-block .btn-primary {
  --bs-btn-font-weight: 700;
  --bs-btn-font-size: 17px;
  font-weight: 700 !important;
  font-size: 17px !important;
  text-decoration: none !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:visited,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:active,
a.btn-primary:visited {
  text-decoration: none !important;
}

.esa-btn,
a.esa-btn {
  font-size: 17px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.esa-btn:hover,
.esa-btn:focus,
.esa-btn:active,
.esa-btn:visited,
a.esa-btn:hover,
a.esa-btn:focus,
a.esa-btn:active,
a.esa-btn:visited {
  text-decoration: none !important;
}

/* Home Choose Your Plan — full-span no-wrap CTAs on mobile (after esa-flow 62.5%). */
@media (max-width: 767.98px) {
  #section-products.esa-flow .esa-plans-grid .esa-plan__cta {
    align-items: stretch !important;
    width: 100% !important;
  }
  #section-products.esa-flow .esa-plans-grid .esa-plan__cta > a.btn.btn-primary.rounded-pill,
  #section-products.esa-flow .esa-plans-grid .esa-plan__cta > a.esa-plan-full-cta {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
