/* SKF Donate Button — front-end styles */

/* Fundraiser block */
.skf-fundraiser { max-width: 760px; margin: 0 auto; padding: 24px 0; }
.skf-fundraiser__header { text-align: center; margin-bottom: 20px; }
.skf-fundraiser__title {
  font-family: var(--skf-font-head, 'Fraunces', Georgia, serif);
  font-size: 30px; font-weight: 700; color: var(--skf-green-deep, #0a3d2e); margin: 0 0 6px;
}
.skf-fundraiser__organizer { margin: 0; color: var(--skf-ink-soft, #4a5a50); font-size: 15px; }
.skf-fundraiser__progress { margin: 0 auto 20px; max-width: 640px; }
.skf-fundraiser__progress-track {
  height: 14px; background: #e7edf6; border-radius: 999px; overflow: hidden;
}
.skf-fundraiser__progress-fill {
  height: 100%; background: var(--skf-blue-deep, #0a0369); border-radius: 999px;
  transition: width .4s ease;
}
.skf-fundraiser__progress-stats {
  display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  margin-top: 8px; font-size: 13px; color: var(--skf-ink-soft, #4a5a50);
}
.skf-fundraiser__raised { font-weight: 700; color: var(--skf-green-deep, #0a3d2e); }
.skf-fundraiser__story { margin-bottom: 24px; font-size: 16px; line-height: 1.7; color: #1f2a24; }
.skf-fundraiser__story p { margin: 0 0 14px; }
.skf-fundraiser__form .skf-donate-inline { max-width: 100%; }
.skf-fundraiser-page__shell { max-width: 100%; }
.skf-fundraiser-page__header { background: var(--skf-green-deep, #0a3d2e); padding: 16px 0; }
.skf-fundraiser-page__header .custom-logo { height: 48px; width: auto; }

/* Fundraiser share row */
.skf-fundraiser__share { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin: 0 0 22px; }
.skf-fundraiser__share a {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none;
  border: 1px solid var(--skf-border, #dfe8e1); color: #fff;
}
.skf-fundraiser__share a:hover { opacity: .9; }
.skf-fundraiser__share-fb { background: #1877f2; }
.skf-fundraiser__share-tw { background: #1da1f2; }
.skf-fundraiser__share-wa { background: #25d366; color: #075e54; }
.skf-fundraiser__share-link { background: var(--skf-blue-deep, #0a0369); }

/* Donor wall */
.skf-fundraiser__donors { margin: 24px 0; }
.skf-fundraiser__donors-title { font-size: 20px; font-weight: 700; color: var(--skf-green-deep, #0a3d2e); margin: 0 0 12px; }
.skf-fundraiser__donors-list { list-style: none; margin: 0; padding: 0; }
.skf-fundraiser__donors-list li {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 8px 0; border-bottom: 1px solid var(--skf-border, #dfe8e1);
  font-size: 14px; color: var(--skf-ink, #1f2a24);
}
.skf-fundraiser__donors-list li:last-child { border-bottom: 0; }
.skf-fundraiser__donor-name { font-weight: 600; }
.skf-fundraiser__donor-amount { color: var(--skf-green-deep, #0a3d2e); font-weight: 700; }

/* Fundraiser goal reached banner */
.skf-fundraiser__complete {
  text-align: center; padding: 14px 18px; margin: 0 0 20px;
  background: #e9f9ef; border: 1px solid #7fce9e; border-radius: 12px;
  color: var(--skf-green-deep, #0a3d2e); font-weight: 700; font-size: 15px;
}

/* Public "Start a Fundraiser" form */
.skf-fundraiser-form { max-width: 640px; margin: 0 auto; padding: 28px; background: #fff; border: 1px solid var(--skf-border, #dfe8e1); border-radius: 16px; }
.skf-fundraiser-form__field { margin: 0 0 16px; }
.skf-fundraiser-form__field label { display: block; font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 4px; font-size: 14px; }
.skf-fundraiser-form__input, .skf-fundraiser-form__textarea {
  width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--skf-border, #dfe8e1);
  border-radius: 8px; font-size: 15px; font-family: inherit;
}
.skf-fundraiser-form__textarea { resize: vertical; }
.skf-fundraiser-form__field.has-error .skf-fundraiser-form__input,
.skf-fundraiser-form__field.has-error .skf-fundraiser-form__textarea { border-color: #c92c2c; }
.skf-fundraiser-form__hp { position: absolute; left: -9999px; }
.skf-fundraiser-form__status { font-weight: 600; margin: 0 0 14px; }
.skf-fundraiser-form__status.is-success { color: #00a25a; }
.skf-fundraiser-form__status.is-error { color: #c92c2c; }
.skf-fundraiser-form__submit { width: 100%; }

/* Accessible modal */
.skf-donate-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; }
.skf-donate-modal[hidden] { display: none; }
.skf-donate-modal__overlay { position: absolute; inset: 0; background: rgba(10, 40, 30, 0.65); }
.skf-donate-modal__box {
  position: relative; z-index: 1; background: #fff; border-radius: 16px;
  max-width: 520px; width: 94%; max-height: 90vh; overflow: auto; padding: 28px;
  box-shadow: 0 24px 60px rgba(0,0,0,.25);
}
.skf-donate-modal__close { position: absolute; top: 12px; right: 14px; background: none; border: 0; font-size: 26px; cursor: pointer; color: #555; line-height: 1; }
.skf-donate-modal__title { font-family: var(--skf-font-head, 'Fraunces', serif); color: var(--skf-green-deep, #0a3d2e); margin: 0 0 16px; font-size: 24px; }
body.skf-donate-modal-open { overflow: hidden; }

/* Donate form — fields sit inside a 900px white box centered in the section */
.skf-donate-form { margin: 0; }

/* Field spacing (each field is a label + field) */
.skf-donate-form__name,
.skf-donate-form__currency,
.skf-donate-form__email,
.skf-donate-form__donateto,
.skf-donate-form__frequency,
.skf-donate-form__amounts,
.skf-donate-form__methods {
  margin: 0 0 18px;
}

/* Required marker */
.skf-donate-form__req { color: #c92c2c; }

/* Amount tiers */
.skf-donate-form__amounts { border: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
/* The flex display above would override the [hidden] attribute's default
   display:none, so explicitly hide hidden amount groups (only one currency's
   group should be visible at a time). */
.skf-donate-form__amounts[hidden] { display: none; }
.skf-donate-form__amounts legend {
  flex: 0 0 100%; font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 4px; font-size: 14px;
}
.skf-donate-form__tier {
  background: #fff; border: 1px solid #7fce9e; color: #0a3d2e; border-radius: 999px;
  padding: 8px 18px; font-size: 15px; font-weight: 600; cursor: pointer;
}
.skf-donate-form__tier:hover, .skf-donate-form__tier.is-selected { background: #00a25a; border-color: #00a25a; color: #fff; }
.skf-donate-form__tier--custom { width: 120px; box-sizing: border-box; margin-right: -20px; }

/* Custom amount — boxed input with a currency prefix (symbol follows the
   country the donor selects). */
.skf-donate-form__custom {
  flex: 0 0 auto;
  display: flex; align-items: center; align-self: center; gap: 4px;
  max-width: 110px;
  height: 39px;
  box-sizing: border-box;
  background: #fff; border: 1px solid #7fce9e; border-radius: 999px;
  padding: 0 12px;
}
.skf-donate-form__custom-symbol {
  font-weight: 700; color: var(--skf-green-deep, #0a3d2e); font-size: 13px;
}
.skf-donate-form__custom .skf-donate-form__custom-input {
  flex: 1; min-width: 0;
  border: 0; outline: 0; background: transparent;
  color: #0a3d2e; font-size: 13px; font-weight: 600; font-family: inherit;
  height: 100%; padding: 0; line-height: 1;
}

/* Group titles (Donate To / Frequency / Donation Method) */
.skf-donate-form__donateto-title,
.skf-donate-form__frequency-title,
.skf-donate-form__methods-title {
  display: block; font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 8px; font-size: 14px;
}

/* Donate To — 3 options on one line, font autosizes to fit the column */
.skf-donate-form__donateto-options {
  display: flex; flex-wrap: nowrap; gap: 6px;
}
.skf-donate-form__donate,
.skf-donate-form__duration {
  flex: 1 1 0;
  min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-size: clamp(11px, 1.6vw, 15px);
  padding: 8px 8px;
}

/* Frequency options (keep wrapping pills) */
.skf-donate-form__frequency-options,
.skf-donate-form__methods-options,
.skf-donate-form__honor-options {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.skf-donate-form__donate,
.skf-donate-form__duration,
.skf-donate-form__freq,
.skf-donate-form__honor-btn {
  background: #fff; border: 1px solid #7fce9e; color: #0a3d2e; border-radius: 999px;
  font-weight: 600; cursor: pointer;
}
.skf-donate-form__freq,
.skf-donate-form__honor-btn { font-size: 15px; padding: 8px 18px; }
.skf-donate-form__donate:hover, .skf-donate-form__donate.is-selected,
.skf-donate-form__duration:hover, .skf-donate-form__duration.is-selected,
.skf-donate-form__freq:hover, .skf-donate-form__freq.is-selected,
.skf-donate-form__honor-btn:hover, .skf-donate-form__honor-btn.is-selected { background: #00a25a; border-color: #00a25a; color: #fff; }

/* Donor Information (orange) — honor buttons take the orange tone */
.skf-donate-form__section--donor .skf-donate-form__honor-btn {
  border-color: #f2b98a; color: #8a4a00;
}
.skf-donate-form__section--donor .skf-donate-form__honor-btn:hover,
.skf-donate-form__section--donor .skf-donate-form__honor-btn.is-selected {
  background: var(--skf-cta-orange, #c84f00); border-color: var(--skf-cta-orange, #c84f00); color: #fff;
}

/* Donation Details (green) — donate/freq/tier buttons take the green tone */
.skf-donate-form__section--details .skf-donate-form__donate,
.skf-donate-form__section--details .skf-donate-form__duration,
.skf-donate-form__section--details .skf-donate-form__freq {
  border-color: #7fce9e;
}
.skf-donate-form__section--details .skf-donate-form__donate:hover,
.skf-donate-form__section--details .skf-donate-form__donate.is-selected,
.skf-donate-form__section--details .skf-donate-form__duration:hover,
.skf-donate-form__section--details .skf-donate-form__duration.is-selected,
.skf-donate-form__section--details .skf-donate-form__freq:hover,
.skf-donate-form__section--details .skf-donate-form__freq.is-selected {
  background: #00a25a; border-color: #00a25a; color: #fff;
}

/* Honor / Memorial dedication */
.skf-donate-form__honor-title {
  display: block; font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 8px; font-size: 14px;
}
.skf-donate-form__honor-input {
  width: 100%; box-sizing: border-box; padding: 10px 12px; margin-top: 10px;
  border: 1px solid var(--skf-border, #dfe8e1); border-radius: 8px; font-size: 15px; font-family: inherit;
}

/* Donation Method buttons (Card / PayPal / UPI) — blue tone */
.skf-donate-form__methods { font-size: 15px; }
.skf-donate-form__methods-options {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.skf-donate-form__method {
  background: #fff; border: 1px solid #9db4e0; color: #0a0369; border-radius: 999px;
  padding: 8px 18px; font-size: 15px; font-weight: 600; cursor: pointer;
}
.skf-donate-form__method:hover, .skf-donate-form__method.is-selected { background: var(--skf-blue-deep, #0a0369); border-color: var(--skf-blue-deep, #0a0369); color: #fff; }

/* By Check — mail-in donation instructions (blue shade to match the method box) */
.skf-donate-form__check {
  margin: 14px 0 0; padding: 18px 20px;
  border: 1px solid #c7d2f0; border-radius: 12px; background: #f0f3fb;
}
.skf-donate-form__check p { margin: 0 0 8px; font-size: 14px; color: #0a0369; line-height: 1.55; }
.skf-donate-form__check .skf-donate-form__check-title { font-weight: 700; font-size: 15px; }
.skf-donate-form__check address {
  font-style: normal; font-size: 14px; line-height: 1.6; color: #0a0369;
  padding: 10px 12px; margin: 4px 0 0; background: #fff; border-radius: 8px;
  border: 1px solid #c7d2f0;
}
.skf-donate-form__steps {
  margin: 6px 0 0; padding: 0 0 0 18px;
  display: flex; flex-direction: column; gap: 8px;
}
.skf-donate-form__steps li {
  font-size: 14px; color: #0a0369; line-height: 1.55;
}
.skf-donate-form__steps-head {
  margin: 12px 0 8px; font-size: 14px; font-weight: 700; color: #0a0369; line-height: 1.5;
}
.skf-donate-form__steps-note {
  margin: 12px 0 0; font-size: 14px; color: #2b5cc4; line-height: 1.55;
}
.skf-donate-form__csr-box {
  padding: 12px 14px; margin: 0 0 10px;
  border: 1px solid #c7d2f0; border-radius: 10px; background: #f7f9fe;
}
.skf-donate-form__csr-box:last-of-type { margin-bottom: 0; }
.skf-donate-form__csr-box .skf-donate-form__steps-head { margin-top: 0; }
.skf-donate-form__csr-box .skf-donate-form__steps-note { margin-top: 0; }
.skf-donate-form__bank {
  list-style: none; margin: 6px 0 0; padding: 0;
}
.skf-donate-form__bank li {
  display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
  padding: 7px 0; border-bottom: 1px solid #c7d2f0;
  font-size: 14px; color: #0a0369; line-height: 1.5;
}
.skf-donate-form__bank li:last-child { border-bottom: 0; }
.skf-donate-form__bank span { color: #2b5cc4; font-weight: 600; flex-shrink: 0; }
.skf-donate-form__bank strong { text-align: right; word-break: break-word; }
.skf-donate-form__bank-note {
  margin: 10px 0 0; font-size: 13px; color: #2b5cc4; line-height: 1.5;
  padding: 8px 10px; background: #f0f3fb; border: 1px solid #c7d2f0; border-radius: 8px;
}
/* Two-column layout for the country-specific panels */
.skf-donate-form__cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  margin-top: 6px;
}
.skf-donate-form__panel {
  padding: 14px 16px; border: 1px solid #c7d2f0; border-radius: 10px; background: #fff;
}
.skf-donate-form__check .skf-donate-form__panel-title {
  margin: 0 0 10px; padding: 7px 10px; border-radius: 6px;
  font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  color: #fff; background: var(--skf-cta-green, #007a44);
}
.skf-donate-form__panel[data-check-in] .skf-donate-form__panel-title,
.skf-donate-form__panel[data-bank-in] .skf-donate-form__panel-title {
  background: var(--skf-saffron, #ff6f00); color: var(--skf-ink, #1f2a24);
}
.skf-donate-form__panel .skf-donate-form__check-title { margin-top: 0; }
@media (max-width: 640px) {
  .skf-donate-form__cols { grid-template-columns: 1fr; }
}

/* The two-column check/bank panels drop the blue wrapper fill; each column
   carries its own theme colour (green = all countries except India,
   saffron = India only). */
.skf-donate-form__check[data-check-instructions],
.skf-donate-form__check[data-bank-instructions] {
  background: transparent; border: 0; padding: 0;
}

/* --- USA panel: theme green --- */
.skf-donate-form__panel[data-check-us],
.skf-donate-form__panel[data-bank-us] {
  background: #f2fbf6; border-color: #bfe9d2;
}
.skf-donate-form__panel[data-check-us] .skf-donate-form__check-title,
.skf-donate-form__panel[data-bank-us] .skf-donate-form__check-title {
  color: var(--skf-green-dark, #00844a);
}
.skf-donate-form__panel[data-check-us] address {
  background: #fff; border-color: #bfe9d2;
}
.skf-donate-form__panel[data-bank-us] .skf-donate-form__bank li {
  border-bottom-color: #bfe9d2;
}
.skf-donate-form__panel[data-bank-us] .skf-donate-form__bank span {
  color: var(--skf-green-dark, #00844a);
}

/* --- India panel: theme saffron --- */
.skf-donate-form__panel[data-check-in],
.skf-donate-form__panel[data-bank-in] {
  background: #fff4ec; border-color: #ffb27a;
}
.skf-donate-form__panel[data-check-in] .skf-donate-form__check-title,
.skf-donate-form__panel[data-bank-in] .skf-donate-form__check-title {
  color: var(--skf-saffron-dark, #c84f00);
}
.skf-donate-form__panel[data-check-in] address {
  background: #fff; border-color: #ffb27a;
}
.skf-donate-form__panel[data-bank-in] .skf-donate-form__bank li {
  border-bottom-color: #ffb27a;
}
.skf-donate-form__panel[data-bank-in] .skf-donate-form__bank span {
  color: var(--skf-saffron-dark, #c84f00);
}
.skf-donate-form__panel[data-bank-in] .skf-donate-form__bank-note {
  background: #fff9f3; border-color: #ffb27a; color: #a84200;
}

/* Text inputs & selects — label above, field below */
.skf-donate-form__name input, .skf-donate-form__email input {
  width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--skf-border, #dfe8e1);
  border-radius: 8px; font-size: 15px; font-family: inherit;
}
.skf-donate-form__name label, .skf-donate-form__email label {
  display: block; font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 4px; font-size: 14px;
}
.skf-donate-form__payment { margin: 0 0 14px; }

/* Static UPI QR (scan & pay) */
.skf-donate-form__upi-qr {
  background: #f8fbf9; border: 1px solid var(--skf-border, #dfe8e1); border-radius: 12px;
  padding: 18px; margin: 0 0 14px; text-align: center;
}
.skf-donate-form__upi-qr-title { font-weight: 700; color: var(--skf-green-deep, #0a3d2e); margin: 0 0 12px; font-size: 16px; }
.skf-donate-form__upi-qr-canvas { display: flex; justify-content: center; margin: 0 0 12px; }
.skf-donate-form__upi-qr-img { width: 240px; height: 240px; max-width: 100%; background: #fff; padding: 8px; border-radius: 8px; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.skf-donate-form__upi-qr-amount { font-weight: 600; color: #0a3d2e; margin: 0 0 4px; }
.skf-donate-form__upi-qr-vpa { margin: 0 0 8px; color: #5b6b62; font-size: 14px; }
.skf-donate-form__upi-qr-app { display: inline-block; margin: 0 0 14px; color: #00a25a; font-weight: 600; text-decoration: underline; }
.skf-donate-form__upi-copy { margin-left: 6px; padding: 4px 10px; border: 1px solid #0a3d2e; background: #fff; color: #0a3d2e; border-radius: 999px; font-size: 12px; font-weight: 600; cursor: pointer; }
.skf-donate-form__upi-qr-note { margin: 0 0 12px; font-size: 12px; line-height: 1.5; color: #8a5a00; }
.skf-donate-form__upi-qr-ref-label { margin: 12px 0 6px; font-size: 14px; color: #0a3d2e; }
.skf-donate-form__upi-qr-ref { width: min(340px, 100%); padding: 10px 12px; border: 1px solid #cfdcd3; border-radius: 8px; font-size: 15px; }
.skf-donate-form__upi-qr-status { margin: 8px 0 0; font-size: 14px; }
.skf-donate-form__upi-qr-status.is-success { color: #1a7f4b; }
.skf-donate-form__upi-qr-status.is-error { color: #c92c2c; }

/* Currency pill buttons */
.skf-donate-form__currency-title {
  display: block; font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 8px; font-size: 14px;
}
.skf-donate-form__currency-options {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.skf-donate-form__cur {
  background: #fff; border: 1px solid #7fce9e; color: #0a3d2e; border-radius: 999px;
  padding: 8px 18px; font-size: 15px; font-weight: 600; cursor: pointer;
}
.skf-donate-form__cur:hover, .skf-donate-form__cur.is-selected { background: #00a25a; border-color: #00a25a; color: #fff; }

/* Shown when INR is above the UPI per-transaction limit */
.skf-donate-form__upi-note {
  margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: #8a4a00;
  background: #fff8f0; border: 1px solid #f2d3b3; border-radius: 8px; padding: 8px 12px;
}

/* Card details security box */
.skf-donate-form__security {
  background: #f8fbf9; border: 1px solid var(--skf-border, #dfe8e1); border-radius: 12px;
  padding: 16px; margin: 0 0 14px;
}
.skf-donate-form__security-title {
  font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 10px; font-size: 14px;
}
.skf-donate-form__cf { margin: 0 0 14px; }
.skf-donate-form__cf:last-child { margin-bottom: 0; }
.skf-donate-form__cf label {
  display: block; font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 4px; font-size: 14px;
}
.skf-donate-form__cf > div {
  background: #fff; border: 1px solid var(--skf-border, #dfe8e1); border-radius: 8px;
  padding: 10px 12px;
}
.skf-donate-form__cf .StripeElement--focus { border-color: #00a25a; box-shadow: 0 0 0 3px rgba(0,162,90,.15); }
.skf-donate-form__submit { width: 100%; transition: background-color .2s ease, transform .15s ease; }
.skf-donate-form__submit.is-processing { cursor: wait; transform: none; }
.skf-donate-form__submit.is-processing.btn--green,
.skf-donate-form__submit.is-processing.btn--green:hover,
.skf-donate-form__submit.is-processing.btn--green:focus {
  background: #00a25a !important; color: #fff !important; border-color: #00a25a !important;
  opacity: 1;
}
.skf-donate-form__error { color: #c92c2c; font-weight: 600; }

/* Pre-validation: highlight fields that are missing/incorrect */
.skf-donate-form .has-error input,
.skf-donate-form .has-error select,
.skf-donate-form .has-error .skf-donate-form__custom {
  border-color: #c92c2c !important;
  box-shadow: 0 0 0 3px rgba(201, 44, 44, .12);
}
.skf-donate-form__dedication.has-error { border: 1px solid #c92c2c; border-radius: 8px; padding: 8px 10px; }

/* PayPal (native, independent of Stripe) */
.skf-donate-form__paypal { margin: 14px 0 0; width: 100%; display: flex; justify-content: center; }
.skf-donate-form__paypal[hidden] { display: none; }
.skf-donate-form__paypal-note { font-size: 13px; color: #5b6b62; text-align: center; margin: 0 0 8px; }
.skf-donate-form__paypal:empty { display: none; }
.skf-donate-form__paypal .paypal-buttons { width: 25% !important; min-width: 200px; }
.skf-donate-form__submit[hidden] { display: none !important; }
.skf-donate-form__status { font-weight: 600; margin-top: 8px; }
.skf-donate-form__status.is-success { color: #00a25a; }
.skf-donate-form__status.is-error { color: #c92c2c; }

/* Success panel */
.skf-donate-form__success { text-align: center; padding: 8px 0 4px; }
.skf-donate-form__success-title { font-family: var(--skf-font-head, 'Fraunces', serif); color: var(--skf-green-deep, #0a3d2e); font-size: 24px; margin: 0 0 10px; }
.skf-donate-form__success-amount { font-size: 32px; font-weight: 800; color: #0a3d2e; margin: 0 0 18px; }
.skf-donate-form__receipt-btn { text-decoration: none; }
.skf-donate-form__success-note { margin: 14px 0 0; font-size: 14px; color: #2f6f4d; line-height: 1.5; }

/* Inline form wrapper — 1160px box (1200px section minus shadow spread) */
.skf-donate-inline {
  max-width: 1160px; margin: 0 auto; background: #fff; border-radius: 16px;
  padding: 32px 36px; box-shadow: 0 10px 40px rgba(10,61,46,.12);
}

/* Row 1: two-column grid — Donor Information | Donation Details */
.skf-donate-form__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch;
}
.skf-donate-form__grid-col { min-width: 0; }

/* Boxed sections — solid border, light tint of the header color */
.skf-donate-form__section {
  border: 1px solid var(--skf-border, #dfe8e1);
  border-radius: var(--skf-radius-lg, 18px);
  padding: 20px 22px;
  height: 100%;
}
.skf-donate-form__section--donor    { background: #fff4ea; } /* light orange */
.skf-donate-form__section--details  { background: #eef4ef; } /* light green */
.skf-donate-form__section--method   { background: #eceffb; } /* light blue */

.skf-donate-form__section-title {
  display: block; text-align: center;
  background: var(--skf-green-deep, #0a3d2e);
  color: #fff;
  border-radius: 10px;
  padding: 10px 16px;
  margin: -20px -22px 20px; /* bleed to the top edge of the box */
  font-family: var(--skf-font-head, 'Fraunces', Georgia, serif);
  font-size: 17px; font-weight: 600; letter-spacing: .3px;
}
.skf-donate-form__section--donor .skf-donate-form__section-title   { background: var(--skf-cta-orange, #c84f00); }
.skf-donate-form__section--details .skf-donate-form__section-title { background: var(--skf-green-dark, #00844a); }
.skf-donate-form__section--method .skf-donate-form__section-title  { background: var(--skf-blue-deep, #0a0369); }

/* Donation Method options — centered on row 2 */
.skf-donate-form__section--method .skf-donate-form__methods-options {
  justify-content: center;
}

/* 20px space between Row 1 (grid) and Row 2 (Donation Method) */
.skf-donate-form__grid + .skf-donate-form__section--method {
  margin-top: 20px;
}

/* Dedication — In Honor / Memory of */
.skf-donate-form__dedication { margin-top: 16px; }
.skf-donate-form__dedication-title {
  display: block; font-weight: 600; color: var(--skf-green-deep, #0a3d2e); margin-bottom: 8px; font-size: 14px;
}
.skf-donate-form__honor-input[hidden] { display: none; }

@media (max-width: 720px) {
  .skf-donate-form__grid { grid-template-columns: 1fr; gap: 24px; }
}

/* Row 3 — security check (own centered box) + submit, centered */
.skf-donate-form__submit-row {
  display: flex; flex-direction: column; align-items: center;
  margin-top: 20px; padding-top: 0;
}
.skf-donate-form__submit-row .skf-donate-form__submit {
  width: 100%; max-width: 320px;
}
.skf-donate-form__submit-row .skf-donate-form__error,
.skf-donate-form__submit-row .skf-donate-form__status {
  width: 100%; max-width: 320px; margin-left: auto; margin-right: auto;
}

/* Own box for the Cloudflare security check, centered above the submit button */
.skf-donate-form__security-check {
  display: flex; justify-content: center;
  width: 100%; max-width: 220px;
  margin: 0 auto 14px;
}
.skf-donate-form__security-check .skf-donate-form__turnstile {
  margin: 0;
}

/* Honeypot: off-screen positioning, not display:none (bots skip display:none).
   Humans never see or reach this field. */
.skf-donate-form__hp {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
}
.skf-donate-form__hp input { opacity: 0; }

/* Cloudflare Turnstile (managed, non-interactive) */
.skf-donate-form__turnstile { margin: 0 0 14px; min-height: 32px; }

/* Responsive: full-screen-ish modal on small screens */
@media (max-width: 600px) {
  .skf-donate-modal__box { width: 100%; height: 100%; max-height: 100vh; border-radius: 0; padding: 24px; }
}

/* Per-form custom fields (configured in the admin editor). */
.skf-donate-form__extra {
  width: 100%; box-sizing: border-box;
  margin-top: 6px;
  background: #fff; border: 1px solid #cfdcd3; border-radius: 8px;
  padding: 9px 12px;
  color: #1f2a24; font-size: 14px; font-family: inherit;
}
.skf-donate-form__extra:focus { border-color: #00a25a; outline: 0; box-shadow: 0 0 0 3px rgba(0,162,90,.15); }
.skf-donate-form__extra--textarea { min-height: 72px; resize: vertical; }
.skf-donate-form__extra--select { height: 42px; }

/* GDPR consent checkbox. */
.skf-donate-form__consent {
  margin: 14px 0;
  text-align: left;
  font-size: 13px;
  color: #5b6b62;
  line-height: 1.5;
}
.skf-donate-form__consent-label {
  display: flex; align-items: flex-start; gap: 8px;
  cursor: pointer;
}
.skf-donate-form__consent input { margin-top: 2px; }
.skf-donate-form__consent.has-error input { outline: 2px solid #c92c2c; }

/* Quarterly newsletter opt-in — match the consent checkbox styling. */
.skf-donate-form__newsletter {
  margin: 0 0 14px;
  text-align: left;
  font-size: 13px;
  color: #5b6b62;
  line-height: 1.5;
}
.skf-donate-form__newsletter-label {
  display: flex; align-items: flex-start; gap: 8px;
  cursor: pointer;
}
.skf-donate-form__newsletter input { margin-top: 2px; }

/* Funds & designations selector. */
.skf-donate-form__funds { margin: 0 0 16px; }
.skf-donate-form__funds-title, .skf-donate-form__frequency-title { font-size: 13px; font-weight: 600; color: #0a3d2e; margin-bottom: 8px; }
.skf-donate-form__funds-options { display: flex; flex-wrap: wrap; gap: 8px; }
.skf-donate-form__fund {
  background: #fff; border: 1px solid #cfdcd3; border-radius: 999px;
  padding: 7px 16px; font-size: 14px; font-weight: 600; color: #0a3d2e; cursor: pointer;
}
.skf-donate-form__fund:hover, .skf-donate-form__fund.is-selected { background: #0a3d2e; border-color: #0a3d2e; color: #fff; }

/* Honoree email for eCards. */
.skf-donate-form__honoree-email {
  width: 100%; box-sizing: border-box; margin-top: 8px;
  border: 1px solid #cfdcd3; border-radius: 8px; padding: 9px 12px; font-size: 14px;
}

/* Fee recovery. */
.skf-donate-form__fee { margin: 0 0 12px; text-align: left; }
.skf-donate-form__fee-label { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #33403a; cursor: pointer; line-height: 1.5; }
.skf-donate-form__fee-label input { margin-top: 2px; }
.skf-donate-form__fee-amount { display: block; margin-top: 4px; font-size: 13px; font-weight: 700; color: #00a25a; }

/* Donor portal. */
.skf-portal { max-width: 720px; }
.skf-portal h2 { color: #0a3d2e; }
.skf-portal__notice { color: #00a32a; font-weight: 600; }
.skf-portal__error { color: #c92c2c; font-weight: 600; }
.skf-portal__table { margin: 12px 0 24px; }

/* Advanced custom field types. */
.skf-donate-form__extra-check, .skf-donate-form__extra-radio { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #1f2a24; cursor: pointer; margin: 4px 0; }
.skf-donate-form__extra-radios { display: flex; flex-wrap: wrap; gap: 12px; }
.skf-donate-form__extra-file-status { display: block; margin-top: 4px; font-size: 12px; color: #5b6b62; }
.skf-donate-form__extra-file-status.is-ok { color: #00a25a; }
.skf-donate-form__extra-file-status.is-error { color: #c92c2c; }

/* Gift Aid + in-person checkboxes. */
.skf-donate-form__gift-aid, .skf-donate-form__inperson { margin: 0 0 10px; text-align: left; }
.skf-donate-form__gift-aid-label, .skf-donate-form__inperson-label { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #33403a; cursor: pointer; line-height: 1.5; }
.skf-donate-form__gift-aid-label input, .skf-donate-form__inperson-label input { margin-top: 2px; }

/* Matching-gift portal on success. */
.skf-donate-form__matching-gift { margin-top: 18px; padding: 14px; background: #f0f6f1; border: 1px solid #cfe2d3; border-radius: 10px; text-align: left; }
.skf-donate-form__matching-gift h4 { margin: 0 0 10px; color: #0a3d2e; }

/* Campaign share buttons (used on fundraiser pages). */
.skf-campaign-share__btn:hover { border-color: #00a25a; color: #00a25a; }

/* Impact labels under amount tiers. */
.skf-donate-form__tier { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; line-height: 1.2; }
.skf-donate-form__tier-label { font-size: 11px; font-weight: 500; opacity: .85; }
.skf-donate-form__tier:has(.skf-donate-form__tier-label) { border-radius: 14px; padding: 8px 14px; }

/* One-time -> monthly upsell on the success panel. */
.skf-donate-form__upsell { margin: 18px auto 0; max-width: 520px; padding: 16px; background: #f0f8f3; border: 1px solid #cfe2d3; border-radius: 12px; }
.skf-donate-form__upsell-title { margin: 0 0 6px; font-weight: 700; color: #0a3d2e; }
.skf-donate-form__upsell-text { margin: 0 0 12px; font-size: 14px; color: #33403a; line-height: 1.5; }
.skf-donate-form__upsell-btn { cursor: pointer; }

/* Social share row on the success panel. */
.skf-donate-form__share { margin: 16px 0 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.skf-donate-form__share-title { font-size: 13px; color: #5b6b62; }
.skf-donate-form__share-btn { background: #fff; border: 1px solid #cfe2d3; color: #0a3d2e; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600; cursor: pointer; }
.skf-donate-form__share-btn:hover { border-color: #00a25a; color: #00a25a; }
.skf-donate-form__share-status { font-size: 12px; color: #2f6f4d; }
