.donation-page { --donation-line:#d9d0bd; --donation-ink:#25221c; --donation-gold:#a07b38; }
.donation-header { margin-bottom:2rem; }
.donation-header > p:not(.label) { max-width:66ch; }
.donation-header h1 { font-family:var(--f-display,'Bodoni Moda',Georgia,serif); font-weight:500; letter-spacing:-.025em; }
.donation-card { padding:clamp(1.25rem,4vw,3rem); }
.donation-card h2,.donation-community h2 { font-family:var(--f-display,'Bodoni Moda',Georgia,serif); font-weight:500; font-size:clamp(1.9rem,4vw,2.5rem); line-height:1.2; }
.donation-card form { margin-top:2rem; }
.donation-group { border:0; padding:0; margin:0 0 2rem; min-width:0; }
.donation-group > legend { font-family:var(--f-display,'Bodoni Moda',Georgia,serif); font-size:1.5rem; padding:0; margin-bottom:.9rem; line-height:1.4; }
.donation-group > legend > span,.donation-field label > span { color:#675f51; font-family:var(--f-sans,'Hanken Grotesk',Arial,sans-serif); font-size:.82rem; font-weight:400; }
.donation-amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.donation-amounts label { position:relative; min-width:0; cursor:pointer; }
.donation-page input[type="radio"] { width:20px; height:20px; padding:0; margin-top:2px; accent-color:#a07b38; }
.donation-page .donation-amounts input[type="radio"] { position:absolute; opacity:0; width:1px; height:1px; padding:0; border:0; clip-path:inset(50%); overflow:hidden; }
.donation-amounts span { display:flex; justify-content:center; align-items:center; min-height:58px; font-size:1.2rem; font-weight:500; background:#f6f2e9; border:1px solid #afa691; }
.donation-amounts input:checked + span { background:#25221c; color:#fffdf8; border-color:#25221c; }
.donation-amounts input:focus-visible + span { outline:3px solid #a07b38; outline-offset:3px; }
.donation-custom { margin-top:1rem; max-width:22rem; }
.donation-field { margin-bottom:1.6rem; min-width:0; }
.donation-page .donation-field input,.donation-page .donation-field select,.donation-page .donation-custom input { border-radius:0; min-height:48px; }
.donation-page textarea { font:inherit; color:var(--donation-ink); background:#fff; border:1px solid #afa691; padding:12px; width:100%; box-sizing:border-box; resize:vertical; min-height:100px; border-radius:0; }
.donation-page textarea:focus { outline:3px solid #a07b38; outline-offset:3px; }
.donation-note-meta { display:flex; gap:1rem; align-items:start; justify-content:space-between; }
.donation-note-meta output { font-size:.8rem; color:#675f51; white-space:nowrap; margin-top:.65rem; }
.checkout-page p.donation-hint { font-size:.85rem; line-height:1.6; color:#675f51; margin:.65rem 0 0; }
.donation-radio-options { display:flex; gap:.5rem 1.6rem; flex-wrap:wrap; }
.donation-radio-options .check { margin:0 0 .7rem; }
.donation-recognition { border-top:1px solid var(--donation-line); border-bottom:1px solid var(--donation-line); padding:1.5rem 0; }
.donation-recognition > legend { padding-right:.6rem; }
.donation-recognition > p { margin-top:0; }
.donation-recognition-options { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; padding-left:2rem; }
.donation-recognition-options .check { margin:.3rem 0; }
.donation-recognition-options input:disabled { opacity:.45; }
.donation-contact > p { color:#675f51; font-size:.9rem; margin:0 0 1.2rem; }
.donation-page .donation-field-error { color:#9d2525; font-size:.87rem; font-weight:500; margin:.45rem 0 0; }
.donation-field-error:empty { display:none; }
.donation-errors { border:1px solid #9d2525; padding:1rem 1.2rem; margin-bottom:1.6rem; }
.donation-errors p { margin:0; }
.donation-errors ul { padding-left:1.3rem; margin-top:.6rem; }
.donation-errors a { color:#9d2525; text-underline-offset:.2em; }
.donation-page [aria-invalid="true"] { border-color:#9d2525!important; }
.donation-page [data-donation-status-check],.donation-page [data-donation-new] { margin:.75rem .75rem .75rem 0; }
.donation-community { margin:3.5rem 0; }

/* 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}}
