/* JDonation presentation. Native form names, validation and payment flow stay in JDonation. */
.riko-donate-page,
.riko-donation-result {
  --donate-ink: var(--riko-ink);
  --donate-muted: var(--riko-muted);
  --donate-accent: var(--riko-action);
  --donate-line: var(--riko-line);
  --donate-soft: var(--riko-surface-soft);
  max-width: 1180px;
  margin: 0 auto 32px;
  color: var(--donate-ink);
  font-size: 16px;
  line-height: 1.6;
}
.riko-donate-page *, .riko-donation-result * { box-sizing: border-box; }
.riko-donate-page [hidden], .riko-donation-result [hidden] { display: none !important; }
.riko-donate-page a, .riko-donation-result a { color: var(--riko-link); text-underline-offset: .18em; }
.riko-donate-page a:focus-visible, .riko-donate-page button:focus-visible,
.riko-donate-page input:focus-visible, .riko-donate-page select:focus-visible,
.riko-donate-page textarea:focus-visible, .riko-donate-page summary:focus-visible,
.riko-donation-result a:focus-visible, .riko-donation-result summary:focus-visible {
  outline: 3px solid var(--riko-focus);
  outline-offset: 3px;
}
.riko-donate-page .riko-donate-header { margin: 0 0 28px; padding: 2px 0 2px 20px; border-left: 4px solid var(--donate-accent); }
.riko-donate-page .riko-donate-header h1,
.riko-donation-result .riko-donation-result__header h1 {
  margin: 0 0 12px !important;
  color: var(--donate-ink) !important;
  font-size: clamp(30px, 3.5vw, 44px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em;
}
.riko-donate-header p { max-width: 76ch; margin: 0; color: var(--donate-muted); font-size: 17px; }
#tm-content .riko-donate-page .riko-donate-shell { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.riko-donate-shell > * { min-width: 0; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card { width: 100%; margin: 0 !important; padding: 0 !important; border: 1px solid var(--donate-line); border-radius: 16px; background: var(--riko-surface); }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card #os_form { width: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card form > .riko-donate-form-inner { float: none !important; width: 100% !important; min-width: 0; margin: 0 !important; padding: 24px !important; }
.riko-donate-required { margin: 0 0 18px; color: var(--donate-muted); font-size: 14px; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .jd-page-title, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .jd-message { display: none; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .row-fluid, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .row { max-width: 100%; margin-left: 0 !important; margin-right: 0 !important; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .row-fluid:before, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .row-fluid:after { display: none; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .riko-donate-form-inner > .row-fluid { display: flex; flex-wrap: wrap; gap: 0 20px; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card [class*="span"], #tm-content .riko-donate-page #donation-form.riko-donation-form-card [class*="col-"] { min-width: 0; max-width: 100%; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .riko-donate-form-inner > .row-fluid > .span12 { width: 100%; margin-left: 0; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .donationfields { float: none !important; padding: 0 !important; margin-left: 0 !important; margin-bottom: 18px; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .row-fluid > .donationfields.span6 { width: calc((100% - 20px) / 2); }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .control-group, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .form-group { max-width: 100%; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .controls { min-width: 0; max-width: 100%; margin-left: 0 !important; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .subheading { display: block !important; float: none !important; width: 100%; margin: 24px 0 14px !important; padding: 16px 0 0; border-top: 1px solid var(--donate-line); background: none; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .subheading.riko-donate-amount-heading { margin-top: 0 !important; border-top: 0; padding-top: 0; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .subheading > .jd_height_30 { display: none !important; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .subheading h2 { display: block !important; margin: 0 !important; padding: 0 !important; color: var(--donate-ink) !important; font-size: 21px !important; line-height: 1.3 !important; font-weight: 700; letter-spacing: 0; text-transform: none; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card label, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .control-label { color: var(--donate-ink); font-size: 15px; font-weight: 600; line-height: 1.4; text-decoration: none !important; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card label:not(.radio):not(.checkbox), #tm-content .riko-donate-page #donation-form.riko-donation-form-card .control-label { display: block; float: none; width: auto; margin: 0 0 7px; padding: 0; text-align: left; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card input[type="text"], #tm-content .riko-donate-page #donation-form.riko-donation-form-card input[type="email"],
#tm-content .riko-donate-page #donation-form.riko-donation-form-card input[type="number"], #tm-content .riko-donate-page #donation-form.riko-donation-form-card input[type="tel"],
#tm-content .riko-donate-page #donation-form.riko-donation-form-card input[type="password"], #tm-content .riko-donate-page #donation-form.riko-donation-form-card select, #tm-content .riko-donate-page #donation-form.riko-donation-form-card textarea {
  width: 100% !important; max-width: 100%; min-width: 0; min-height: 46px; height: auto;
  margin: 0; padding: 10px 12px; border: 1px solid var(--riko-line); border-color: var(--riko-line) !important; border-radius: 7px !important;
  background: var(--riko-surface) !important; color: var(--donate-ink) !important; box-shadow: none; font: inherit; font-size: 16px; line-height: 1.45;
}
#tm-content .riko-donate-page #donation-form.riko-donation-form-card input::placeholder, #tm-content .riko-donate-page #donation-form.riko-donation-form-card textarea::placeholder { color: var(--riko-muted); opacity: 1; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card textarea { min-height: 112px; resize: vertical; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card input[type="radio"], #tm-content .riko-donate-page #donation-form.riko-donation-form-card input[type="checkbox"] { accent-color: var(--donate-accent); }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .input-prepend, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .input-append, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .input-group { display: flex; width: 100%; margin: 0; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .input-prepend .add-on, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .input-append .add-on, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .input-group-text { display: flex; align-items: center; padding: 8px 10px; height: auto; min-height: 46px; border-color: var(--riko-line); background: var(--donate-soft); color: var(--donate-muted); }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card #amount_container > .row-fluid { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card #amount_container > .row-fluid > .span4, #tm-content .riko-donate-page #donation-form.riko-donation-form-card #amount_container > .row-fluid > .span3 { float: none; width: min(100%, 240px); margin-left: 0; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card #amount_container label { display: block; margin: 0 0 7px; font-style: normal; text-decoration: none; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card #tr_frequency { margin-top: 16px; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card #recurringFrequency { max-width: 300px; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-amounts, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-payment-gateway { display: flex !important; flex-wrap: wrap; gap: 10px; position: relative; margin: 0 0 12px; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-amounts input[type="radio"], #tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-payment-gateway input[type="radio"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; opacity: 0; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-amounts input + label, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-payment-gateway input + label { display: flex !important; align-items: center; justify-content: center; min-height: 46px; min-width: 100px; max-width: 100%; margin: 0 !important; padding: 10px 15px !important; border: 1px solid var(--riko-line); border-radius: 7px; background: var(--riko-surface); color: var(--donate-ink); font-size: 16px; cursor: pointer; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-amounts input:checked + label, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-payment-gateway input:checked + label { border-color: var(--donate-accent); background: var(--riko-surface-soft); color: var(--riko-ink); box-shadow: inset 0 0 0 1px var(--donate-accent); }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-amounts input:focus-visible + label, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-payment-gateway input:focus-visible + label { outline: 3px solid var(--riko-focus); outline-offset: 3px; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-payment-gateway label img { max-width: 140px; max-height: 44px; width: auto; height: auto; object-fit: contain; }
.riko-donate-suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.riko-donate-suggestions button { box-shadow: none !important; border-radius: 7px !important; min-width: 60px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--riko-line); background: var(--riko-surface); color: var(--donate-ink); font: inherit; font-weight: 600; cursor: pointer; }
.riko-donate-suggestions button:hover, .riko-donate-suggestions button[aria-pressed="true"] { border-color: var(--donate-accent); background: var(--donate-soft); }
.riko-donate-suggestions button:disabled { opacity: .55; cursor: default; }
#tm-content .riko-donate-page #btn-submit, .riko-donation-result .riko-donation-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; margin: 0; padding: 12px 20px; border: 1px solid var(--donate-accent) !important; border-radius: 8px; background: var(--donate-accent) !important; color: var(--riko-action-contrast) !important; box-shadow: none !important; font: inherit; font-size: 16px; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none; white-space: normal; cursor: pointer; }
#tm-content .riko-donate-page #btn-submit:disabled { opacity: .65; cursor: wait; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .donationButton { padding-top: 24px; }
#tm-content .riko-donate-page #donation-form.riko-donation-form-card .loginbutton { min-height: 40px; margin-left: 8px; padding: 8px 12px; font-size: 14px; line-height: 1.3; text-transform: none; }
.riko-donate-help { margin: 8px 0 0; color: var(--donate-muted); font-size: 14px; line-height: 1.5; }
.riko-donate-side { display: grid; gap: 24px; }
.riko-donate-summary { padding: 22px; border: 1px solid var(--donate-line); border-top: 3px solid var(--donate-accent); border-radius: 12px; background: var(--donate-soft); }
.riko-donate-page .riko-donate-summary h2, .riko-donate-page .riko-donate-faq h2 { margin: 0 0 16px !important; color: var(--donate-ink) !important; font-size: 22px !important; line-height: 1.3 !important; }
.riko-donate-summary dl { margin: 0; }
.riko-donate-summary dl > div { padding: 12px 0; border-bottom: 1px solid var(--donate-line); }
.riko-donate-summary dl > div:first-child { padding-top: 0; }
.riko-donate-summary dt { margin: 0 0 4px; color: var(--donate-muted); font-size: 14px; font-weight: 400; }
.riko-donate-summary dd { margin: 0; color: var(--donate-ink); font-size: 17px; font-weight: 700; overflow-wrap: anywhere; }
.riko-donate-summary dl > div:first-child dd { font-size: 27px; line-height: 1.2; }
.riko-donate-summary p { margin: 16px 0 0; color: var(--donate-muted); font-size: 14px; }
.riko-donate-faq details { border-top: 1px solid var(--donate-line); }
.riko-donate-faq details:last-of-type { border-bottom: 1px solid var(--donate-line); }
.riko-donate-faq summary { min-height: 48px; padding: 13px 0; color: var(--donate-ink); font-weight: 600; line-height: 1.45; cursor: pointer; }
.riko-donate-faq summary::marker { color: var(--donate-accent); }
.riko-donate-faq p { margin: 0 0 14px; color: var(--donate-muted); font-size: 15px; }
.riko-donate-faq ul { margin: 0 0 16px; padding-left: 20px; }
.riko-donate-faq li { margin-bottom: 6px; font-size: 15px; }
.riko-donation-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; font-weight: 600; }
.riko-donate-feedback { margin: 0 0 20px; padding: 14px 16px; border: 1px solid var(--riko-line); border-left: 4px solid var(--donate-accent); border-radius: 8px; background: var(--riko-surface-soft); color: var(--donate-ink); }
.riko-donate-feedback--error { border-color: color-mix(in srgb, var(--riko-danger) 28%, var(--riko-surface)); border-left-color: var(--riko-danger); background: color-mix(in srgb, var(--riko-danger) 9%, var(--riko-surface)); color: var(--riko-danger); }
.riko-donate-feedback ul { margin: 8px 0 0; padding-left: 22px; }
/* Payment return pages share the same visual language and remain separate from the form. */
.riko-donation-result__header { margin-bottom: 24px; padding-left: 20px; border-left: 4px solid var(--donate-accent); }
.riko-donation-result__header p { max-width: 75ch; color: var(--donate-muted); }
.riko-donation-result__status { display: inline-block; margin: 0 0 12px; color: var(--donate-accent); font-size: 15px; font-weight: 700; }
.riko-donation-result__details, .riko-donation-result__instructions, .riko-donation-result__gifts { margin: 24px 0; padding-top: 20px; border-top: 1px solid var(--donate-line); }
.riko-donation-result h2 { color: var(--donate-ink) !important; font-size: 23px !important; line-height: 1.3 !important; }
.riko-donation-result__details > div { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(0, 2fr); gap: 10px 20px; max-width: 640px; margin-bottom: 10px; }
.riko-donation-result__details dt { color: var(--donate-muted); }
.riko-donation-result__details dd { margin: 0; overflow-wrap: anywhere; }
.riko-donation-result__eyebrow { margin: 0 0 8px; color: var(--donate-accent); font-size: 14px; font-weight: 700; }
.riko-donation-result__reason { max-width: 75ch; margin-top: 20px; }
.riko-donation-result__reason summary { min-height: 44px; padding: 10px 0; color: var(--donate-ink); font-weight: 600; cursor: pointer; }
.riko-donation-result__reason p { color: var(--donate-muted); overflow-wrap: anywhere; }
.riko-donation-result__method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.riko-donation-result__method-card { min-width: 0; padding: 18px; border: 1px solid var(--donate-line); border-radius: 10px; background: var(--donate-soft); }
.riko-donation-result__method-card h3 { margin-top: 0; color: var(--donate-ink) !important; font-size: 19px !important; line-height: 1.4 !important; }
.riko-donation-result__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
.riko-donation-result__actions .riko-donation-link { margin: 0; }
.riko-donation-result__instructions img, .riko-donation-result__gifts img { max-width: 100%; height: auto; }
@media (max-width: 980px) {
  #tm-content .riko-donate-page .riko-donate-shell { grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; }
  #tm-content .riko-donate-page #donation-form.riko-donation-form-card form > .riko-donate-form-inner { padding: 20px !important; }
}
@media (max-width: 760px) {
  #tm-content .riko-donate-page .riko-donate-shell { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .riko-donate-header p { font-size: 16px; }
  .riko-donate-page .riko-donate-header { padding-left: 14px; margin-bottom: 22px; }
  .riko-donate-summary { padding: 18px; }
}
@media (max-width: 540px) {
  #tm-content .riko-donate-page #donation-form.riko-donation-form-card form > .riko-donate-form-inner { padding: 16px !important; }
  .riko-donate-page .riko-donate-header h1, .riko-donation-result .riko-donation-result__header h1 { font-size: 30px !important; }
  #tm-content .riko-donate-page #donation-form.riko-donation-form-card .row-fluid > .donationfields.span6, #tm-content .riko-donate-page #donation-form.riko-donation-form-card .row > .donationfields,
  #tm-content .riko-donate-page #donation-form.riko-donation-form-card #amount_container > .row-fluid > .span4, #tm-content .riko-donate-page #donation-form.riko-donation-form-card #amount_container > .row-fluid > .span3 { width: 100%; flex-basis: 100%; }
  #tm-content .riko-donate-page #donation-form.riko-donation-form-card #amount_container > .row-fluid { gap: 16px; }
  #tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-amounts input + label { flex: 1 1 100px; }
  #tm-content .riko-donate-page #donation-form.riko-donation-form-card .switch-payment-gateway input + label { flex: 1 1 120px; }
  #tm-content .riko-donate-page #btn-submit { width: 100%; padding: 12px; }
  .riko-donation-result__details > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .riko-donation-result__details dd { margin-bottom: 12px; }
  .riko-donation-result__method-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .riko-donation-result__actions { display: grid; gap: 12px; }
}
