/* Stripe payment recovery — AnyHeater's shared checkout palette. */
body:has(.ah-payment-failure), body:has(.ah-payment-failure) #wrapper { background: #f5f6f7; }
body:has(.ah-payment-failure) #wrapper { padding-top: 0; }
.ah-payment-failure { max-width: 660px; margin: 0 auto; padding: 48px 0 56px; color: #17232d; line-height: 1.65; }
.ah-payment-failure__card { padding: 38px 44px 26px; border: 1px solid #e1e6ea; border-top: 3px solid #fa6e19; border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 12px 40px #17232d06; }
.ah-payment-failure__symbol { display: grid; place-items: center; width: 80px; height: 80px; margin: 0 auto 24px; background: #fff4eb; color: #c05211; border: 1px solid #f6d9c5; border-radius: 24px; box-shadow: 0 0 0 7px #fffaf6; }
.ah-payment-failure__symbol svg { width: 45px; height: 45px; }
.ah-payment-failure__eyebrow { margin: 0 0 12px; color: #9b542c; font-size: 10px; font-weight: 700; letter-spacing: 1.6px; }
.ah-payment-failure h1 { max-width: 470px; margin: 0 auto 16px; font-size: 32px; line-height: 1.2; font-weight: 700; letter-spacing: -.9px; text-wrap: balance; }
.ah-payment-failure__intro { max-width: 460px; margin: 0 auto; color: #65727e; font-size: 14px; line-height: 1.8; }
.ah-payment-failure__actions { display: flex; flex-direction: column; align-items: center; gap: 16px; margin: 27px 0 30px; }
.ah-payment-failure__retry-form { width: 100%; max-width: 300px; margin: 0; }
.ah-payment-failure .ah-payment-failure__retry { display: flex; align-items: center; justify-content: center; gap: 24px; width: 100%; max-width: 300px; min-height: 49px; padding: 12px 20px; border: 1px solid #fa6e19; border-radius: 9px; background: #fa6e19; color: #17232d; font-size: 13px; line-height: 1.6; font-weight: 650; text-decoration: none; box-shadow: 0 4px 12px #fa6e1915; }
.ah-payment-failure .ah-payment-failure__retry:hover { background: #eb600d; border-color: #eb600d; }
.ah-payment-failure__retry > span { font-size: 18px; line-height: 1; }
.ah-payment-failure__contact { color: #54616d; font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.ah-payment-failure__contact:hover { color: #ad470c; }
.ah-payment-failure__guidance { padding: 22px; text-align: left; background: #f7f8f9; border: 1px solid #e9edf0; border-radius: 11px; }
.ah-payment-failure h2 { margin: 0 0 18px; font-size: 13px; line-height: 1.5; font-weight: 650; }
.ah-payment-failure ul { display: grid; gap: 18px; padding: 0; margin: 0; list-style: none; }
.ah-payment-failure li { display: flex; align-items: flex-start; gap: 12px; }
.ah-payment-failure__hint-icon { flex: 0 0 20px; font-size: 20px; color: #798690; margin-top: 1px; }
.ah-payment-failure h3 { margin: 0 0 3px; font-size: 12px; line-height: 1.5; font-weight: 650; }
.ah-payment-failure li p { margin: 0; color: #65727e; font-size: 11px; line-height: 1.75; }
.ah-payment-failure__footnote { display: flex; align-items: flex-start; justify-content: center; gap: 8px; margin: 22px 0 0; color: #74808a; font-size: 11px; line-height: 1.7; }
.ah-payment-failure__footnote .material-icons { flex-shrink: 0; font-size: 18px; }
.ah-payment-failure__home { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 24px; color: #65727e; font-size: 12px; }
.ah-payment-failure :is(a,button):focus-visible { outline: 3px solid #d66a26; outline-offset: 4px; }
@media (max-width: 575px) {
  .ah-payment-failure { padding: 28px 0 36px; }
  .ah-payment-failure__card { padding: 28px 20px 22px; border-radius: 14px; }
  .ah-payment-failure h1 { font-size: 26px; letter-spacing: -.6px; }
  .ah-payment-failure__intro { font-size: 13px; }
  .ah-payment-failure__guidance { padding: 18px 16px; }
  .ah-payment-failure__footnote { font-size: 10px; }
}
