/* Shared donor recognition follows the host page's palette and typefaces. */
.donor-scroll { --donor-rule:var(--line,#d9d0bd); --donor-gold:var(--gold,#a07b38); padding:1.75rem 0; border-block:1px solid var(--donor-rule); color:inherit; }
.donor-scroll [hidden] { display:none!important; }
.donor-scroll__heading { font-family:var(--f-display,'Bodoni Moda',Georgia,serif); font-weight:500; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.2; margin:0 0 1rem; }
.donor-scroll__description,.donor-scroll__status { font-family:var(--f-sans,'Hanken Grotesk',Arial,sans-serif); font-size:.9rem; line-height:1.65; max-width:68ch; opacity:.8; }
.donor-scroll__filter { display:flex; flex-direction:column; gap:.5rem; max-width:28rem; margin:1.4rem 0; font:500 .9rem/1.5 var(--f-sans,'Hanken Grotesk',Arial,sans-serif); }
.donor-scroll__filter select { color:inherit; background:transparent; border:1px solid var(--donor-rule); padding:.75rem; min-height:46px; font:inherit; }
.donor-scroll__list { list-style:none; padding:0; margin:1.4rem 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.donor-scroll__card { min-width:0; padding:1.2rem 0; border-top:1px solid var(--donor-rule); overflow-wrap:anywhere; }
.donor-scroll__name { font-family:var(--f-display,'Bodoni Moda',Georgia,serif); font-size:1.45rem; font-weight:500; line-height:1.3; margin:0 0 .6rem; }
.donor-scroll__amount { color:var(--donor-gold); font-size:1.1rem; font-weight:600; }
.donor-scroll__note { font-size:.95rem; line-height:1.65; margin:.65rem 0; white-space:pre-wrap; }
.donor-scroll__dedication { font-size:.9rem; line-height:1.6; font-style:italic; }
.donor-scroll__fund { font-size:.78rem; line-height:1.5; opacity:.75; margin-top:.8rem; }
.donor-scroll__controls { display:flex; flex-wrap:wrap; gap:.7rem 1rem; align-items:center; margin-top:1.2rem; }
.donor-scroll__button { font:500 .85rem/1.5 var(--f-sans,'Hanken Grotesk',Arial,sans-serif); border:1px solid currentColor; background:transparent; color:inherit; min-height:44px; padding:.6rem 1rem; cursor:pointer; }
.donor-scroll__button:disabled { opacity:.4; cursor:default; }
.donor-scroll__button:focus-visible,.donor-scroll__filter select:focus-visible { outline:2px solid var(--donor-gold); outline-offset:4px; }
.donor-scroll__position { font-size:.85rem; opacity:.8; }
@media(max-width:650px){.donation-recognition-options{grid-template-columns:1fr}.donation-note-meta{gap:.5rem}.donor-scroll__list{grid-template-columns:1fr;gap:.6rem}.donor-scroll__card{padding:1.1rem 0}.donation-group > legend{font-size:1.35rem}}
@media(max-width:360px){.donation-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}.donation-note-meta{flex-direction:column;gap:0}}
@media(prefers-reduced-motion:reduce){.donor-scroll,.donor-scroll *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Match the Run for Life page's existing ink, gold, ivory, and typefaces. */
.race-supporters{background:var(--paper);color:var(--navy);--f-display:var(--display);--f-sans:var(--body)}
.race-supporters .section-heading>p{max-width:28rem}
.race-supporters .donor-scroll{--donor-rule:var(--line);--donor-gold:var(--gold-deep);margin-top:2rem}
.race-supporters .donor-scroll__heading,.race-supporters .donor-scroll__name{font-weight:700}
.race-supporters>.button{margin-top:1.5rem}
