/* Part 5: donations and payment states */
.agcm-donation-page { background: var(--agcm-soft); }
.agcm-donation-layout { align-items: start; display: grid; gap: 36px; grid-template-columns: minmax(330px,.86fr) minmax(0,1.14fr); }
.agcm-donation-impact { background: linear-gradient(150deg,rgba(3,28,66,.94),rgba(7,87,181,.88)),var(--agcm-give-image,linear-gradient(135deg,var(--agcm-blue-deep),var(--agcm-blue))); background-position: center; background-size: cover; border-radius: 25px; box-shadow: var(--agcm-shadow); color: #fff; min-height: 700px; overflow: hidden; padding: 48px; position: sticky; top: 26px; }
.agcm-donation-impact::after { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; height: 380px; position: absolute; right: -180px; top: -160px; width: 380px; }
.agcm-donation-impact > div { position: relative; z-index: 1; }
.agcm-donation-impact .agcm-section-label { color: var(--agcm-yellow); }
.agcm-donation-impact h2 { color: #fff; font-size: clamp(34px,4vw,49px); margin: 25px 0 16px; }
.agcm-donation-impact > div > p { color: rgba(255,255,255,.76); line-height: 1.8; }
.agcm-impact-list { border-top: 1px solid rgba(255,255,255,.17); display: grid; gap: 18px; margin-top: 32px; padding-top: 30px; }
.agcm-impact-list > span { align-items: flex-start; display: flex; gap: 13px; }
.agcm-impact-list svg { background: var(--agcm-yellow); border-radius: 50%; color: var(--agcm-blue-dark); flex: 0 0 auto; height: 22px; padding: 4px; width: 22px; }
.agcm-impact-list p { display: flex; flex-direction: column; margin: 0; }
.agcm-impact-list strong { color: #fff; font-size: 14px; }
.agcm-impact-list small { color: rgba(255,255,255,.65); font-size: 11px; line-height: 1.55; margin-top: 4px; }
.agcm-donation-card { padding: 42px; }
.agcm-amount-field { align-items: center; background: #f5f8fc; border: 2px solid #dce6f2; border-radius: 14px; display: flex; margin: 27px 0 12px; overflow: hidden; }
.agcm-amount-field:focus-within { border-color: var(--agcm-blue); box-shadow: 0 0 0 3px rgba(7,87,181,.09); }
.agcm-amount-field span { background: var(--agcm-blue); color: #fff; font-size: 15px; font-weight: 900; padding: 21px; }
.agcm-amount-field input { background: transparent; border: 0!important; box-shadow: none!important; color: var(--agcm-ink); font-size: 31px; font-weight: 850; min-width: 0; padding: 13px 18px; width: 100%; }
.agcm-quick-amounts { display: grid; gap: 8px; grid-template-columns: repeat(4,1fr); margin-bottom: 25px; }
.agcm-quick-amounts button { background: #fff; border: 1px solid #dce4ef; border-radius: 8px; color: var(--agcm-blue); cursor: pointer; font-size: 11px; font-weight: 850; padding: 9px 7px; }
.agcm-quick-amounts button:hover { background: var(--agcm-blue); border-color: var(--agcm-blue); color: #fff; }
.agcm-payment-note { align-items: center; color: var(--agcm-muted); display: flex; font-size: 10px; gap: 7px; justify-content: center; margin: 17px 0 0; }
.agcm-payment-note svg { color: var(--agcm-blue); height: 15px; width: 15px; }
.agcm-form-disabled { background: #fff3cd; border: 1px solid #f0d77c; border-radius: 10px; color: #6d5700; font-size: 12px; margin-top: 20px; padding: 14px; }
.agcm-status--success { background: #dff7e9; color: #17643b; }
.agcm-status--pending { background: #fff3cd; color: #745c00; }
.agcm-status--failed { background: #ffe2e2; color: #8b2020; }

@media (max-width: 980px) {
	.agcm-donation-layout { grid-template-columns: 1fr; }
	.agcm-donation-impact { min-height: auto; position: static; }
}
@media (max-width: 600px) {
	.agcm-donation-impact, .agcm-donation-card { padding: 28px 22px; }
	.agcm-quick-amounts { grid-template-columns: repeat(2,1fr); }
}
