.donation-sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Page-5 confirmation: rendered through hook_civicrm_alterContent so that the
 * surrounding WordPress campaign page remains intact across CiviCRM updates. */
.donation-confirmation-shell {
  background: transparent;
  color: #20313a;
  font-family: inherit;
  margin: 0;
  max-width: none;
}

.donation-confirmation {
  background: #fff;
  border: 1px solid #c9d8dc;
  border-radius: 1rem;
  box-shadow: 0 0.75rem 2rem rgba(21, 57, 69, 0.12);
  color: #20313a;
  margin: 0 auto;
  max-width: 43rem;
  overflow: hidden;
}

.donation-confirmation__test {
  background: #fff4d6;
  border-bottom: 1px solid #ebcf7a;
  color: #684f00;
  font-size: 0.92rem;
  margin: 0;
  padding: 0.75rem 1.25rem;
}

.donation-confirmation__header {
  align-items: flex-start;
  background: linear-gradient(135deg, #e8f6f7 0%, #f7fbfb 100%);
  display: flex;
  gap: 1rem;
  padding: 1.5rem 1.5rem 1.35rem;
}

.donation-confirmation__icon {
  align-items: center;
  background: #087895;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 2.65rem;
  font-size: 1.35rem;
  font-weight: 800;
  height: 2.65rem;
  justify-content: center;
  line-height: 1;
}

.donation-confirmation__eyebrow {
  color: #087895;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0 0 0.3rem;
  text-transform: uppercase;
}

.donation-confirmation h2,
.donation-confirmation h3 {
  color: #173947;
  font-family: inherit;
}

.donation-confirmation h2 {
  font-size: clamp(1.55rem, 4vw, 2rem);
  line-height: 1.15;
  margin: 0;
}

.donation-confirmation__lead {
  color: #40535d;
  font-size: 1rem;
  line-height: 1.55;
  margin: 0.55rem 0 0;
}

.donation-confirmation__intro {
  border-bottom: 1px solid #e0e9ec;
  padding: 1rem 1.5rem;
}

.donation-confirmation__intro > :first-child,
.donation-confirmation__next-step > :first-child {
  margin-top: 0;
}

.donation-confirmation__intro > :last-child,
.donation-confirmation__next-step > :last-child {
  margin-bottom: 0;
}

.donation-confirmation__summary {
  padding: 1.15rem 1.5rem;
}

.donation-confirmation__row {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.38rem 0;
}

.donation-confirmation__row span {
  color: #52656e;
}

.donation-confirmation__row strong {
  color: #20313a;
  text-align: right;
}

.donation-confirmation__row--total {
  border-top: 1px solid #b8c8ce;
  font-size: 1.12rem;
  margin-top: 0.45rem;
  padding-top: 0.85rem;
}

.donation-confirmation__next-step {
  background: #eef7f9;
  border: 1px solid #87beca;
  border-radius: 0.7rem;
  margin: 0 1.5rem 1.15rem;
  padding: 1rem 1.1rem;
}

.donation-confirmation__step-label {
  color: #056186;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 0.2rem;
  text-transform: uppercase;
}

.donation-confirmation__next-step h3 {
  font-size: 1.2rem;
  margin: 0 0 0.65rem;
}

.donation-confirmation__notice,
.donation-confirmation__email {
  background: #f4f8f9;
  border-left: 0.25rem solid #087895;
  line-height: 1.5;
  margin: 0 1.5rem 1rem;
  padding: 0.75rem 0.9rem;
}

.donation-confirmation__email {
  background: transparent;
  border-left-color: #b8c8ce;
  color: #52656e;
}

.donation-confirmation__details {
  border-top: 1px solid #e0e9ec;
  margin-top: 1.15rem;
  padding: 1rem 1.5rem 0;
}

.donation-confirmation__details summary {
  color: #087895;
  cursor: pointer;
  font-weight: 700;
}

.donation-confirmation__details dl {
  margin: 0.8rem 0 0;
}

.donation-confirmation__details dl > div {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(9rem, 1fr) minmax(10rem, 1.5fr);
  padding: 0.3rem 0;
}

.donation-confirmation__details dt {
  color: #52656e;
}

.donation-confirmation__details dd {
  margin: 0;
}

.donation-confirmation__footer {
  color: #52656e;
  font-size: 0.9rem;
  padding: 1.15rem 1.5rem 1.4rem;
}

.donation-confirmation__footer a {
  color: #087895;
  font-weight: 700;
}

@media (max-width: 39rem) {
  .donation-confirmation__header {
    padding: 1.25rem 1rem;
  }

  .donation-confirmation__summary,
  .donation-confirmation__intro,
  .donation-confirmation__details,
  .donation-confirmation__footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .donation-confirmation__notice,
  .donation-confirmation__email,
  .donation-confirmation__next-step {
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .donation-confirmation__details dl > div {
    display: block;
  }

  .donation-confirmation__details dd {
    margin-top: 0.1rem;
  }
}

.donation-experience-enhanced {
  background: #fffefa;
  border: 1px solid #cbd8da;
  border-radius: 0.8rem;
  box-shadow: 0 0.9rem 2.4rem rgba(31, 55, 66, 0.14);
  box-sizing: border-box;
  margin-inline: auto;
  max-width: 52rem;
  padding: clamp(1rem, 3vw, 2rem);
  position: relative;
}

.donation-experience-enhanced::before {
  background: linear-gradient(90deg, #056186, #17abbf 62%, #71cbd7);
  border-radius: 0.8rem 0.8rem 0 0;
  content: "";
  display: block;
  height: 0.32rem;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.donation-experience-enhanced fieldset {
  min-width: 0;
}

.donation-experience-enhanced [hidden] {
  display: none !important;
}

.donation-experience-enhanced .donation-stage--gift .total_amount-section,
.donation-experience-enhanced .section-pricesetTotal,
.donation-experience-enhanced .crm-option-edit-link {
  display: none !important;
}

.donation-experience-enhanced .donation-stepper ol {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
}

.donation-experience-enhanced .donation-stepper li {
  align-items: center;
  border-bottom: 3px solid #cad4d8;
  color: #52636c;
  display: flex;
  font-weight: 650;
  gap: 0.55rem;
  padding: 0.55rem 0.25rem 0.75rem;
}

.donation-experience-enhanced .donation-stepper li[aria-current="step"] {
  border-color: #087895;
  color: #0a5267;
}

.donation-stepper__number {
  align-items: center;
  background: #e9f3f5;
  border-radius: 50%;
  display: inline-flex;
  height: 1.75rem;
  justify-content: center;
  width: 1.75rem;
}

.donation-experience-enhanced .donation-stage[hidden] {
  display: none !important;
}

.donation-experience-enhanced .donation-stage > h2 {
  color: #20313a;
  font-size: 1.5rem;
  margin: 0 0 1rem;
  outline: 0;
}

.donation-experience-enhanced .payment_processor-section .content {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.donation-experience-enhanced .payment_processor-section .crm-radio-wrapper {
  display: flex;
  min-width: 0;
  width: auto !important;
}

.donation-experience-enhanced .payment_processor-section .donation-payment-wrapper--checkout {
  grid-column: 1 / -1;
  grid-row: 1;
}

.donation-experience-enhanced .payment_processor-section .donation-payment-wrapper--paypal {
  grid-column: 1;
  grid-row: 2;
}

.donation-experience-enhanced .payment_processor-section .donation-payment-wrapper--check {
  grid-column: 2;
  grid-row: 2;
}

.donation-experience-enhanced .payment_processor-section input[type="radio"] {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  display: block !important;
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.donation-experience-enhanced .donation-payment-choice {
  align-items: center;
  background: #fff;
  border: 2px solid #a9b4ba;
  border-radius: 0.45rem;
  box-sizing: border-box;
  cursor: pointer;
  display: flex !important;
  flex: 1;
  flex-direction: column;
  gap: 0.35rem;
  justify-content: center;
  min-height: 5.25rem;
  padding: 0.75rem;
  text-align: center;
  white-space: normal !important;
  width: 100%;
}

.donation-experience-enhanced .payment_processor-section input[type="radio"]:checked + .donation-payment-choice {
  background: #eef8fa;
  border-color: #087895;
  box-shadow: inset 0 0 0 1px #087895;
}

.donation-experience-enhanced .payment_processor-section input[type="radio"]:focus-visible + .donation-payment-choice {
  outline: 3px solid #f3b61f;
  outline-offset: 3px;
}

.donation-payment-choice__visual,
.donation-card-marks {
  align-items: center;
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 0.38rem;
  justify-content: center;
}

.donation-payment-choice__visual {
  width: 100%;
}

.donation-card-mark {
  display: block;
  height: 1.6rem;
  width: auto;
}

.donation-wallet-mark {
  display: block;
  height: auto;
  max-width: 4.4rem;
}

.donation-wallet-mark--apple { max-width: 3.6rem; }
.donation-wallet-mark--google { max-width: 4.15rem; }
.donation-paypal-mark { height: auto; max-width: 6.6rem; }
.donation-stripe-mark {
  display: block;
  filter: invert(39%) sepia(78%) saturate(1964%) hue-rotate(222deg) brightness(99%) contrast(105%);
  height: auto;
  margin-left: 0.2rem;
  max-width: 3.55rem;
}

.donation-payment-choice__caption {
  color: #40535d;
  font-size: 0.83rem;
  font-weight: 650;
}

.donation-check-mark {
  align-items: center;
  border: 2px solid #087895;
  border-radius: 50%;
  color: #087895;
  display: inline-flex;
  font-size: 0.85rem;
  height: 1.35rem;
  justify-content: center;
  width: 1.35rem;
}

.donation-check-copy {
  color: #293b44;
  font-size: 0.9rem;
  font-weight: 650;
}

.donation-experience-enhanced .donation-preference-section .crm-option-label-pair {
  align-items: start;
  column-gap: 0.55rem;
  display: inline-grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0 1.15rem 0.55rem 0;
  vertical-align: top;
}

.donation-experience-enhanced .donation-preference-section .crm-option-label-pair input,
.donation-review__coverage input[type="checkbox"] {
  margin: 0.24rem 0 0 !important;
}

.donation-experience-enhanced .donation-preference-section .crm-option-label-pair label,
.donation-review__coverage label {
  display: block !important;
  margin: 0 !important;
}

.donation-address-details {
  border: 1px solid #c4ced3;
  border-radius: 0.35rem;
  margin: 1rem 0;
  padding: 0.8rem 1rem;
}

.donation-address-details summary {
  color: #0a6076;
  cursor: pointer;
  font-weight: 700;
}

.donation-address-details__help {
  color: #40535d;
  font-size: 0.9rem;
  margin: 0.75rem 0 0.25rem;
}

.donation-stage-actions {
  display: flex;
  margin: 1.25rem 0;
}

.donation-stage-next,
.donation-stage-back {
  border-radius: 0.3rem;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  min-height: 2.75rem;
  padding: 0.65rem 1.2rem;
}

.donation-stage-next {
  background: #087895;
  border: 2px solid #087895;
  color: #fff;
}

.donation-stage-back {
  background: #fff;
  border: 2px solid #087895;
  color: #087895;
}

.donation-stage-next:focus-visible,
.donation-stage-back:focus-visible {
  outline: 3px solid #f3b61f;
  outline-offset: 3px;
}

.donation-stage-error {
  color: #a51d25;
  font-weight: 700;
}

.donation-validation-summary {
  background: #fff7df;
  border: 2px solid #c66a14;
  border-left-width: 0.45rem;
  border-radius: 0.5rem;
  color: #542b0a;
  margin: 0.2rem 0 1.15rem;
  padding: 0.85rem 1rem;
}

.donation-validation-summary:focus {
  outline: 3px solid #f3b61f;
  outline-offset: 3px;
}

.donation-validation-summary h3,
.donation-validation-summary p {
  margin: 0;
}

.donation-validation-summary h3 {
  color: #7c2d12;
  font-size: 1.05rem;
}

.donation-validation-summary p {
  margin-top: 0.3rem;
}

.donation-validation-summary ul {
  margin: 0.55rem 0 0;
  padding-left: 1.25rem;
}

.donation-validation-summary a {
  color: #7c2d12;
  font-weight: 750;
  text-decoration: underline;
}

.donation-experience-enhanced [aria-invalid="true"] {
  border-color: #b42318 !important;
  box-shadow: 0 0 0 1px #b42318;
}

.donation-experience-enhanced .donation-preference-section {
  border-top: 1px solid #dbe3e6;
  margin-top: 0.75rem;
  padding-top: 0.85rem;
}

.donation-experience-enhanced .donation-preference-section .label,
.donation-experience-enhanced .donation-preference-section .content {
  box-sizing: border-box;
  float: none;
  margin: 0;
  text-align: left;
  width: 100%;
}

.donation-experience-enhanced .donation-preference-section .label {
  color: #20313a;
  font-weight: 700;
  margin-bottom: 0.45rem;
}

.donation-experience-enhanced .donation-preference-section .crm-radio-wrapper {
  display: inline-flex;
  margin: 0 1rem 0.5rem 0;
}

.donation-experience-enhanced .donation-communications-details .crm-multiple-checkbox-radio-options {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.donation-experience-enhanced .donation-communications-details .crm-option-label-pair {
  align-items: center;
  background: #fff;
  border: 1px solid #aebdc4;
  border-radius: 0.48rem;
  box-sizing: border-box;
  display: flex;
  gap: 0.5rem;
  margin: 0;
  min-height: 2.75rem;
  padding: 0.62rem 0.7rem;
}

.donation-experience-enhanced .donation-communications-details .crm-option-label-pair:has(input:checked) {
  background: #eaf6f9;
  border-color: #087895;
  box-shadow: inset 0 0 0 1px #087895;
}

.donation-experience-enhanced .donation-communications-details .crm-option-label-pair:has(input:focus-visible) {
  outline: 3px solid #f5bd36;
  outline-offset: 2px;
}

.donation-experience-enhanced .donation-communications-details .crm-option-label-pair input {
  flex: 0 0 auto;
  margin: 0 !important;
}

.donation-experience-enhanced .donation-communications-details .crm-option-label-pair label {
  flex: 1 1 auto;
  line-height: 1.35;
  margin: 0 !important;
}

.donation-experience-enhanced .donation-communications-details input[type="checkbox"] + label {
  font-weight: 550;
}

.donation-experience-enhanced .donation-communications-details input[type="checkbox"]
  ~ label {
  min-width: 0;
}

.donation-experience-enhanced .donation-communications-details .donation-preference-section:has(input[type="checkbox"])
  .crm-multiple-checkbox-radio-options {
  grid-template-columns: 1fr;
}

.donation-experience-enhanced .donation-preference-section .crm-radio-wrapper input[type="radio"] {
  margin: 0.22rem 0.5rem 0 0 !important;
}

.donation-experience-enhanced .donation-preference-section .crm-radio-wrapper label {
  margin: 0 !important;
}

.donation-communications-details,
.donation-employer-details,
.donation-address-details {
  border: 1px solid #c4ced3;
  border-radius: 0.55rem;
  margin: 1rem 0;
  padding: 0.85rem 1rem;
}

.donation-communications-details {
  background: #f8fbfc;
  overflow: hidden;
  padding: 0;
}

.donation-employer-details {
  background: #fffaf0;
}

.donation-experience-enhanced .donation-employer-details__help--persistent {
  background: #fffaf0;
  border: 1px solid #c4ced3;
  border-bottom: 0;
  border-radius: 0.55rem 0.55rem 0 0;
  margin: 1rem 0 0 !important;
  padding: 0.85rem 1rem 0.55rem;
}

.donation-experience-enhanced .donation-employer-details__help--persistent + .donation-employer-details {
  border-radius: 0 0 0.55rem 0.55rem;
  border-top: 0;
  margin-top: 0;
  padding-top: 0.35rem;
}

.donation-communications-details summary,
.donation-employer-details summary,
.donation-address-details summary {
  color: #0a6076;
  cursor: pointer;
  font-weight: 750;
}

.donation-communications-details > summary {
  padding: 0.88rem 1rem;
}

.donation-communications-details[open] > summary {
  border-bottom: 1px solid #dbe3e6;
}

.donation-communications-details[open] .donation-details-summary__state {
  display: none;
}

.donation-details-summary__state {
  color: #52636c;
  display: block;
  font-size: 0.82rem;
  font-weight: 550;
  line-height: 1.35;
  margin: 0.18rem 0 0 1.05rem;
}

.donation-communications-details__help,
.donation-employer-details__help,
.donation-address-details__help {
  color: #40535d;
  font-size: 0.92rem;
  line-height: 1.45;
}

.donation-communications-details__help {
  margin: 0;
  padding: 0.85rem 1rem 0.15rem;
}

.donation-experience-enhanced .donation-communications-details > .donation-preference-section {
  margin: 0 1rem;
  padding: 0.85rem 0 0.95rem;
}

.donation-experience-enhanced .donation-communications-details > .donation-preference-section:last-child {
  padding-bottom: 1rem;
}

.donation-address-intro .donation-address-details__help {
  margin: 0.9rem 0 0.35rem;
}

.donation-address-details {
  margin-top: 0.45rem;
}

.donation-employer-details .crm-section .label,
.donation-employer-details .crm-section .content {
  box-sizing: border-box;
  float: none;
  margin: 0;
  text-align: left;
  width: 100%;
}

.donation-employer-details .crm-section .label {
  font-weight: 700;
  margin: 0.85rem 0 0.35rem;
}

.donation-employer-details input[type="text"] {
  box-sizing: border-box;
  max-width: 100%;
  width: 100% !important;
}

.donation-employer-details .crm-radio-wrapper,
.donation-employer-details .crm-option-label-pair {
  align-items: start;
  display: inline-flex;
  margin: 0 1rem 0.5rem 0;
}

.donation-employer-details input[type="radio"] {
  margin: 0.22rem 0.5rem 0 0 !important;
}

.donation-employer-details label {
  margin: 0 !important;
}

.donation-address-details--required {
  border-color: #087895;
  box-shadow: inset 0 0 0 1px #087895;
}

.donation-address-field-required .label label::after {
  color: #a51d25;
  content: " *";
}

.donation-experience-enhanced .custom_pre_profile-group input[type="text"],
.donation-experience-enhanced .custom_pre_profile-group input[type="email"],
.donation-experience-enhanced .donation-address-details input[type="text"],
.donation-experience-enhanced .donation-address-details .select2-container {
  box-sizing: border-box;
  max-width: 100%;
  width: 100% !important;
}

.donation-experience-enhanced .donation-other-amount-choice {
  align-items: center;
  box-sizing: border-box;
  display: flex !important;
  font-size: 1rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.1;
  min-height: 3.1rem;
  overflow-wrap: anywhere;
  padding-inline: 0.55rem !important;
  text-align: center;
  white-space: normal !important;
  width: 100%;
}

.donation-experience-enhanced .is_recur_radio-section .content {
  background: #fff;
  border: 2px solid #87999f;
  border-radius: 0.5rem;
  display: grid !important;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
}

.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper {
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  min-width: 0;
  position: relative;
  width: auto !important;
}

.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper + .crm-radio-wrapper {
  border-left: 1px solid #87999f !important;
}

.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper label {
  align-items: center;
  box-sizing: border-box;
  cursor: pointer;
  display: flex !important;
  font-weight: 700;
  justify-content: center;
  line-height: 1.15;
  min-height: 3.15rem;
  padding: 0.65rem 0.45rem !important;
  text-align: center;
  width: 100% !important;
}

.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper:not(.selected):hover,
.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper:not(.selected):hover label {
  background: #edf8fa !important;
}

.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper.selected,
.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper.selected label,
.donation-experience-enhanced .is_recur_radio-section input[type="radio"]:checked + label {
  background: #087895 !important;
  color: #fff !important;
}

.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper.selected:hover,
.donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper.selected:hover label {
  background: #056186 !important;
}

.donation-experience-enhanced .is_recur_radio-section input[type="radio"] {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  display: block !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

.donation-experience-enhanced .is_recur_radio-section input[type="radio"]:focus-visible + label {
  box-shadow: inset 0 0 0 3px #f3b61f;
  outline: 0;
}

.donation-experience-enhanced #priceset .other_amount-content input[type="text"] {
  box-sizing: border-box;
  max-width: 100%;
  width: 11rem !important;
}

.donation-experience-enhanced #priceset .contribution_amount-content {
  display: grid !important;
  gap: 0.55rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.donation-experience-enhanced #priceset .contribution_amount-content .crm-radio-wrapper {
  margin: 0 !important;
  min-width: 0;
  width: auto !important;
}

.donation-experience-enhanced #priceset .contribution_amount-content > :not(.crm-radio-wrapper) {
  display: none !important;
}

.donation-experience-enhanced #priceset .contribution_amount-content label {
  align-items: center;
  background: #fff;
  border: 2px solid #87999f !important;
  border-radius: 0.45rem;
  box-sizing: border-box;
  color: #20313a;
  display: flex !important;
  font-size: 1rem;
  font-weight: 750;
  justify-content: center;
  line-height: 1.15;
  min-height: 3.2rem;
  padding: 0.65rem 0.4rem !important;
  width: 100% !important;
}

.donation-experience-enhanced #priceset .contribution_amount-content input:checked + label {
  background: #087895;
  border-color: #087895 !important;
  box-shadow: inset 0 0 0 1px #fff;
  color: #fff;
}

.donation-experience-enhanced #priceset .contribution_amount-content .donation-other-amount-choice--active {
  background: #087895;
  border-color: #087895 !important;
  box-shadow: inset 0 0 0 1px #fff;
  color: #fff;
}

.donation-experience-enhanced #priceset .contribution_amount-content input:focus-visible + label {
  outline: 3px solid #f3b61f;
  outline-offset: 2px;
}

.donation-gift-impact {
  background: #edf8fa;
  border-left: 4px solid #17abbf;
  border-radius: 0.45rem;
  margin: 1rem 0 0.35rem;
  padding: 0.8rem 0.9rem 0.9rem;
}

.donation-gift-impact h3 {
  color: #1a202c;
  font-size: 1rem;
  margin: 0 0 0.65rem;
}

.donation-gift-impact ul {
  display: grid;
  gap: 0.5rem 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.donation-gift-impact li {
  align-items: start;
  display: grid;
  gap: 0.35rem;
  grid-template-columns: auto minmax(0, 1fr);
  line-height: 1.3;
  min-width: 0;
}

.donation-gift-impact__amount {
  color: #056186;
  font-size: 0.88rem;
  font-weight: 800;
  white-space: nowrap;
}

.donation-gift-impact__description {
  color: #2d3748;
  font-size: 0.8rem;
}

.donation-review {
  background: #f4f8f9;
  border: 1px solid #b8c8ce;
  border-radius: 0.65rem;
  margin-top: 1.35rem;
  padding: 1rem 1.1rem;
}

.donation-review h3 {
  color: #20313a;
  font-size: 1.2rem;
  margin: 0 0 0.75rem;
}

.donation-review__row {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.28rem 0;
}

.donation-review__label {
  color: #40535d;
}

.donation-review__value {
  color: #20313a;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  text-align: right;
}

.donation-review__coverage {
  border-bottom: 1px solid #cbd7db;
  border-top: 1px solid #cbd7db;
  margin: 0.8rem 0;
  padding: 0.9rem 0;
}

.donation-review__coverage .label {
  display: none;
}

.donation-review__coverage .content {
  margin: 0;
}

.donation-review__coverage .price-set-option-content {
  align-items: start;
  column-gap: 0.65rem;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
}

.donation-review__coverage label {
  color: #20313a;
  font-weight: 750;
  line-height: 1.35;
}

.donation-review__coverage .ifc-cost-coverage-summary,
.donation-review__coverage .ifc-recurring-offset-note {
  display: none;
}

.donation-review__row--total {
  border-top: 2px solid #93a9b1;
  font-size: 1.14rem;
  margin-top: 0.55rem;
  padding-top: 0.75rem;
}

.donation-review__recurring,
.donation-review__security,
.donation-review__preview-note {
  color: #40535d;
  font-size: 0.9rem;
  line-height: 1.4;
  margin: 0.7rem 0 0;
}

.donation-review__preview-note {
  background: #fff4cf;
  border-left: 4px solid #d89b00;
  padding: 0.55rem 0.65rem;
}

.donation-review__security::before {
  content: "\1F512  ";
}

.donation-experience-enhanced #crm-submit-buttons {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.donation-experience-enhanced #crm-submit-buttons button[type="submit"],
.donation-experience-enhanced #crm-submit-buttons input[type="submit"] {
  min-height: 3rem;
  white-space: normal;
}

@media (max-width: 700px) {
  .donation-gift-impact ul {
    grid-template-columns: 1fr;
  }

  .donation-experience-enhanced .payment_processor-section .content {
    grid-template-columns: 1fr;
  }

  .donation-experience-enhanced .donation-payment-choice {
    min-height: 4.35rem;
  }

  .donation-payment-choice__visual {
    flex-wrap: wrap;
  }

  .donation-card-marks {
    flex-wrap: wrap;
  }

  .donation-stripe-mark {
    max-width: 3.15rem;
  }

  .donation-experience-enhanced .payment_processor-section .donation-payment-wrapper {
    grid-column: 1;
  }

  .donation-experience-enhanced .payment_processor-section .donation-payment-wrapper--checkout {
    grid-row: 1;
  }

  .donation-experience-enhanced .payment_processor-section .donation-payment-wrapper--paypal {
    grid-row: 2;
  }

  .donation-experience-enhanced .payment_processor-section .donation-payment-wrapper--check {
    grid-row: 3;
  }

  .donation-stepper__label {
    font-size: 0.9rem;
  }

  .donation-experience-enhanced {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    box-shadow: none;
    padding-inline: 0.85rem;
  }

  .donation-experience-enhanced #priceset .contribution_amount-content {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper label {
    min-height: 3rem;
    padding-inline: 0.3rem !important;
  }

  .donation-review__row {
    gap: 0.55rem;
  }
}

@media (max-width: 390px) {
  .donation-experience-enhanced .is_recur_radio-section .crm-radio-wrapper label {
    font-size: 0.9rem;
  }
}

/* Signed, test-only recurring-gift management. Use the same focused
 * module language as give-test without copying its editorial/image columns. */
.donation-recurring {
  --institute-blue: #087895;
  --institute-blue-dark: #056186;
  --institute-ink: #173947;
  --institute-muted: #52666f;
  --institute-line: #c8d9dd;
  background: #fffefa;
  border: 1px solid #cbd8da;
  border-radius: 0.8rem;
  box-shadow: 0 0.9rem 2.4rem rgba(31, 55, 66, 0.14);
  box-sizing: border-box;
  color: #20313a;
  font-family: inherit;
  margin: 2rem auto;
  max-width: 52rem;
  overflow: hidden;
  padding: clamp(1rem, 3vw, 2rem);
  position: relative;
}

.donation-recurring::before {
  background: linear-gradient(90deg, #056186, #17abbf 62%, #71cbd7);
  border-radius: 0.8rem 0.8rem 0 0;
  content: "";
  display: block;
  height: 0.32rem;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.donation-recurring h1,
.donation-recurring h2 {
  color: var(--institute-ink);
  font-family: inherit;
}

.donation-recurring h1 {
  font-size: clamp(1.55rem, 4vw, 2rem);
  line-height: 1.15;
  margin: 0;
}

.donation-recurring h2 {
  font-size: 1.18rem;
  line-height: 1.25;
  margin: 0 0 1rem;
}

.donation-recurring__header {
  background: transparent;
  border-bottom: 0;
  padding: 0.25rem 0 1rem;
}

.donation-recurring__eyebrow {
  color: var(--institute-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.donation-recurring__header-note {
  color: #40535d;
  font-size: 0.95rem;
  line-height: 1.45;
  margin: 0.55rem 0 0;
  max-width: 42rem;
}

.donation-recurring__module {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.donation-recurring__current,
.donation-recurring__change,
.donation-recurring__success-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.donation-recurring__current {
  align-self: stretch;
  background: #eef7f9;
  border: 1px solid #b8d6da;
  border-left: 4px solid #17abbf;
  padding: 0.75rem 0.95rem 0.85rem;
}

.donation-recurring__current-heading {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  justify-content: space-between;
  margin-bottom: 0.35rem;
}

.donation-recurring__current-heading h2 {
  color: #20313a;
  font-size: 1rem;
  margin: 0;
}

.donation-recurring__current-heading p {
  color: #52656e;
  font-size: 0.86rem;
  margin: 0;
}

.donation-recurring__summary {
  margin: 0;
}

.donation-recurring__summary > div {
  align-items: baseline;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.25rem 0;
}

.donation-recurring__summary dt,
.donation-recurring__summary dd {
  margin: 0;
}

.donation-recurring__summary dt {
  color: #465b64;
  line-height: 1.35;
}

.donation-recurring__summary dd {
  color: var(--institute-ink);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  white-space: nowrap;
}

.donation-recurring__summary-total {
  border-top: 1px solid #9fcbd1;
  font-size: 1rem;
  margin-top: 0.35rem;
  padding-top: 0.55rem !important;
}

.donation-recurring__change h2 {
  color: #20313a;
  font-size: 1.35rem;
  margin: 0 0 0.8rem;
}

.donation-recurring__effective,
.donation-recurring__processor-note,
.donation-recurring__field-help {
  color: var(--institute-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.donation-recurring__effective {
  margin: -0.2rem 0 1rem;
}

.donation-recurring__presets {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.donation-recurring__presets legend {
  color: #40535d;
  font-size: 1rem;
  padding: 0;
}

.donation-recurring__preset-grid {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0.4rem;
}

.donation-recurring__preset-grid label {
  display: block;
  margin: 0;
  min-width: 0;
  position: relative;
}

.donation-recurring__preset-grid input {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.donation-recurring__preset-grid input + span {
  align-items: center;
  background: #fff;
  border: 2px solid #87999f;
  border-radius: 0.45rem;
  box-sizing: border-box;
  color: #20313a;
  display: flex;
  font-size: 1rem;
  font-weight: 750;
  justify-content: center;
  line-height: 1.15;
  min-height: 3.2rem;
  padding: 0.65rem 0.4rem;
  text-align: center;
  width: 100%;
}

.donation-recurring__preset-grid input:checked + span {
  background: var(--institute-blue);
  border-color: var(--institute-blue);
  box-shadow: inset 0 0 0 1px #fff;
  color: #fff;
}

.donation-recurring__preset-grid input:focus-visible + span {
  outline: 3px solid #f3b61f;
  outline-offset: 2px;
}

.donation-recurring__field {
  margin-top: 1rem;
}

.donation-recurring__field > label {
  color: #20313a;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
}

.donation-recurring__money {
  display: block;
}

.donation-recurring input.donation-recurring__amount-input {
  border: 2px solid #9db8bf;
  border-radius: 0.45rem;
  box-sizing: border-box;
  font-size: 1rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.7rem;
  width: min(100%, 15rem);
}

.donation-recurring input.donation-recurring__amount-input:focus {
  border-color: var(--institute-blue);
  box-shadow: 0 0 0 3px rgba(8, 120, 149, 0.2);
  outline: 0;
}

.donation-recurring__field-help {
  margin: 0.4rem 0 0;
}

.donation-recurring__cover {
  align-items: flex-start;
  background: #f2f8f9;
  border: 1px solid #b8d6da;
  border-radius: 0.55rem;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: auto minmax(0, 1fr);
  margin-top: 1rem;
  padding: 0.8rem 0.9rem;
}

.donation-recurring__cover input[type="checkbox"] {
  height: 1.25rem;
  margin: 0.05rem 0 0;
  width: 1.25rem;
}

.donation-recurring__cover label {
  color: #29434d;
  line-height: 1.45;
  margin: 0;
}

.donation-recurring__new-total {
  align-items: center;
  border-top: 2px solid #93a9b1;
  display: flex;
  font-size: 1.1rem;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 1rem;
  padding: 0.75rem 0 0;
}

.donation-recurring__new-total strong {
  color: var(--institute-ink);
  font-size: 1.2rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.donation-recurring__processor-note {
  margin: 0.7rem 0 1rem;
}

.donation-recurring__native-fields {
  display: none !important;
}

.donation-recurring__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.donation-recurring__actions .crm-button,
.donation-recurring__actions button,
.donation-recurring__actions input[type="submit"] {
  min-height: 2.9rem;
}

.donation-recurring__actions .crm-form-submit:first-child,
.donation-recurring__success-actions .button {
  background: var(--institute-blue) !important;
  border: 1px solid var(--institute-blue) !important;
  border-radius: 0.42rem;
  color: #fff !important;
  font-weight: 700;
  padding: 0.72rem 1.1rem;
  text-decoration: none;
}

.donation-recurring__actions .crm-form-submit:first-child:hover,
.donation-recurring__success-actions .button:hover {
  background: var(--institute-blue-dark) !important;
}

.donation-recurring__actions .crm-form-submit:not(:first-child),
.donation-recurring__actions button:not(:first-child),
.donation-recurring__actions input[type="submit"]:not(:first-child) {
  background: #fff !important;
  border: 1px solid var(--institute-blue) !important;
  border-radius: 0.42rem;
  color: var(--institute-blue-dark) !important;
  font-weight: 700;
  padding: 0.72rem 1.1rem;
}

.donation-recurring__actions .crm-form-submit:not(:first-child):hover,
.donation-recurring__actions button:not(:first-child):hover,
.donation-recurring__actions input[type="submit"]:not(:first-child):hover {
  background: #edf8fa !important;
}

.donation-recurring__actions .crm-form-submit:focus-visible,
.donation-recurring__actions button:focus-visible,
.donation-recurring__success-actions .button:focus-visible,
.donation-recurring__other a:focus-visible,
.donation-recurring__success-actions a:focus-visible {
  outline: 3px solid #075d76;
  outline-offset: 2px;
}

.donation-recurring__other {
  border-top: 1px solid #d1e0e3;
  margin-top: 1.35rem;
  padding: 1.15rem 0 0;
}

.donation-recurring__other h2 {
  margin-bottom: 0.65rem;
}

.donation-recurring__other-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
}

.donation-recurring__other a,
.donation-recurring__success-actions a:not(.button) {
  color: var(--institute-blue-dark);
  font-weight: 700;
  text-underline-offset: 0.15em;
}

.donation-recurring__other a.donation-recurring__danger-link,
.donation-recurring__success-actions a.donation-recurring__danger-link {
  color: #9d2929;
}

.donation-recurring__danger-link span[aria-hidden="true"] {
  display: inline-block;
  font-size: 1.15em;
  line-height: 1;
  margin-right: 0.12em;
}

.donation-recurring__other p {
  color: var(--institute-muted);
  line-height: 1.5;
  margin: 0.8rem 0 0;
}

.donation-recurring--success .donation-recurring__success-card {
  margin: 0 auto;
  max-width: 42rem;
}

.donation-recurring__success-icon {
  align-items: center;
  background: var(--institute-blue);
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 1.35rem;
  font-weight: 800;
  height: 2.75rem;
  justify-content: center;
  margin-bottom: 1rem;
  width: 2.75rem;
}

.donation-recurring__success-card > p {
  color: var(--institute-muted);
  line-height: 1.5;
}

.donation-recurring__success-card .donation-recurring__summary {
  background: #f3f8f9;
  border: 1px solid #c8dadd;
  border-radius: 0.65rem;
  margin: 1.25rem 0;
  padding: 0.85rem 1rem;
}

.donation-recurring__success-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.2rem;
  margin-top: 1.35rem;
}

@media (max-width: 700px) {
  .donation-recurring {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    box-shadow: none;
    margin: 0;
    padding-inline: 0.85rem;
  }

  .donation-recurring__preset-grid input + span {
    min-height: 3rem;
  }
}

@media (max-width: 430px) {
  .donation-recurring__new-total,
  .donation-recurring__summary > div {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }

  .donation-recurring__new-total {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }

  .donation-recurring__summary > div {
    gap: 0.2rem;
  }
}
