.donations-page { background:#f5f8f8; color:#153a37; }
.donation-section { padding:120px 0 70px; }
.donation-heading { max-width:800px; margin:26px 0 42px; }
.donation-heading h1 { color:#153a37; font-size:clamp(2.1rem,4.5vw,3.7rem); letter-spacing:-.045em; line-height:1.08; font-weight:800; margin:12px 0 20px; }
.donation-heading p { color:#59716d; font-size:1.08rem; line-height:1.8; }
.donation-eyebrow { font-size:.78rem; text-transform:uppercase; letter-spacing:.17em; font-weight:700; color:#16866b; }
.donation-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); gap:24px; }
.donation-panel { background:#fff; border:1px solid #dde9e5; border-radius:20px; padding:28px; margin-bottom:24px; color:#153a37; overflow-wrap:anywhere; }
.donation-panel h2 { font-size:1.4rem; letter-spacing:-.025em; margin:0 0 20px; font-weight:700; }
.donation-panel h2 a { color:inherit; text-decoration:none; }
.donation-campaign { display:flex; flex-direction:column; margin:0; }
.donation-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.donation-card-top>.bi { font-size:1.8rem; color:#15946e; }
.donation-badge { display:inline-block; background:#eaf6ef; color:#147452; padding:6px 11px; border-radius:7px; font-size:.78rem; font-weight:600; margin-bottom:6px; }
.donation-sponsor { display:flex; align-items:center; gap:12px; margin:10px 0 20px; }
.donation-sponsor img { width:48px; height:48px; object-fit:contain; border:1px solid #ecf0ed; padding:4px; border-radius:10px; background:#fff; }
.donation-sponsor span { display:block; color:#6c827b; font-size:.75rem; }
.donation-sponsor strong { font-size:.95rem; }
.donation-rate { margin:16px 0 24px; color:#6c827b; }
.donation-rate strong { font-size:2.2rem; letter-spacing:-.05em; color:#147452; }
.donation-facts { margin-bottom:24px; }
.donation-facts>div { display:flex; flex-wrap:wrap; gap:6px 12px; justify-content:space-between; padding:11px 0; border-bottom:1px solid #edf2ef; }
.donation-facts dt { font-weight:400; color:#6c827b; font-size:.83rem; }
.donation-facts dd { text-align:right; margin:0; font-size:.86rem; font-weight:600; }
.donation-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; text-decoration:none; font-weight:600; border:0; background:#147452; color:#fff; border-radius:10px; padding:13px 18px; cursor:pointer; font-size:.9rem; }
.donation-button:hover,.donation-button:focus { color:#fff; background:#0b5c3e; }
.donation-button:focus-visible,.donation-charity-choice:focus-within { outline:3px solid #78bda6; outline-offset:3px; }
.donation-campaign>.donation-button { margin-top:auto; }
.donation-joined { color:#147452; font-weight:600; font-size:.85rem; }
.donation-detail-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); gap:28px; }
.donation-detail-grid>div,.donation-detail-grid>aside { min-width:0; }
.donation-description { white-space:pre-wrap; line-height:1.85; color:#4c6861; }
.donation-muted { color:#6c827b; font-size:.88rem; line-height:1.7; }
.donation-back,.donation-text-link { text-decoration:none; color:#147452; font-weight:600; }
.donation-steps { padding-left:20px; color:#4c6861; line-height:1.8; }
.donation-steps li { margin-bottom:16px; padding-left:7px; }
.donation-totals { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:28px 0; }
.donation-totals strong { display:block; font-size:2.1rem; letter-spacing:-.05em; color:#147452; }
.donation-totals small { font-size:.85rem; letter-spacing:0; }
.donation-totals span { color:#6c827b; font-size:.8rem; }
.donation-progress .progress { height:9px; margin:10px 0; background:#edf4ef; }
.donation-progress .progress-bar { background:#15946e; }
.donation-charity-picker { border:0; padding:0; margin:0 0 18px; }
.donation-charity-picker legend { font-size:1rem; font-weight:600; margin-bottom:12px; }
.donation-charity-choice { display:flex; align-items:flex-start; gap:10px; border:1px solid #dde9e5; border-radius:10px; padding:13px; margin-bottom:10px; cursor:pointer; }
.donation-charity-choice input { flex:0 0 auto; margin-top:6px; accent-color:#147452; }
.donation-charity-choice img { width:36px; height:36px; object-fit:contain; }
.donation-charity-choice strong { font-size:.88rem; }
.donation-charity-choice small { display:block; font-size:.77rem; color:#6c827b; margin-top:5px; }
.donation-summary form>.donation-button { width:100%; }
.donation-empty { text-align:center; padding:60px 28px; color:#6c827b; }
.donation-empty>.bi { display:block; font-size:2.5rem; color:#15946e; margin-bottom:22px; }
.donation-empty h2 { color:#153a37; }
@media(max-width:850px) { .donation-detail-grid { grid-template-columns:1fr; gap:0; } .donation-section { padding-top:100px; } }
@media(max-width:480px) { .donation-panel { padding:22px; } .donation-totals { gap:12px; } .donation-totals strong { font-size:1.65rem; } }
