/* Donation enquiry component; scoped to avoid changing other page controls. */
form.donate-card{width:min(440px,100%);max-width:100%;margin-top:28px;padding:26px;border:1px solid rgba(255,255,255,.6);border-radius:24px;background:#fff;box-shadow:0 24px 64px rgba(4,24,17,.24);color:#172b24;text-align:left}
.donate-card .donate-head{display:flex;align-items:flex-start;gap:16px;margin:0 0 24px}
.donate-card .donate-head>div{flex:1;min-width:0}
.donate-card .donate-eyebrow{display:block;margin-bottom:9px;font-size:10px;font-weight:850;letter-spacing:.15em;color:#637970}
.donate-card .donate-head h2{margin:0;font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.045em;color:#172b24}
.donate-card .donate-head p{margin:9px 0 0;font-size:13px;line-height:1.55;color:#69766f}
.donate-card .donate-heart{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:#edf4ef;color:#245843}
.donate-card .donate-currency-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:12px 0 20px;border-bottom:1px solid #edf0ed;margin-bottom:20px}
.donate-card .donate-currency-row>label{font-size:12px;font-weight:750;color:#5a6e63}
.donate-card .currency-select-wrap{position:relative;min-width:0;width:100%;flex:initial}
.donate-card .currency-select{display:block;width:100%;max-width:100%;min-width:0;height:43px;border:1px solid #dde5df;border-radius:10px;background:#f6f8f6;padding:0 32px 0 12px;color:#203a2e;font:750 12px/1.4 'DM Sans',sans-serif;text-overflow:ellipsis;cursor:pointer}
.donate-card .currency-select-wrap svg{right:11px;color:#587162}
.donate-card .donate-presets{border:0;margin:0;padding:0;min-width:0}
.donate-card .donate-presets legend,.donate-card .donate-custom-label{display:block;margin:0 0 10px;padding:0;font-size:12px;font-weight:750;color:#4b6054}
.donate-card .amounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.donate-card .amount-btn{position:relative;min-width:0;height:49px;padding:0 5px;border:1px solid #dfe6e1;border-radius:11px;background:#fff;color:#41564a;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;transition:background .16s,border-color .16s,box-shadow .16s}
.donate-card .amount-btn:hover{background:#f1f6f2;border-color:#a0b6a6}
.donate-card .amount-btn.active{background:#193e2e;border-color:#193e2e;color:#fff;box-shadow:0 4px 10px rgba(25,62,46,.12);font-weight:800}
.donate-card .donate-custom-label{margin-top:20px}
.donate-card .amount-input{height:72px;margin-top:0;gap:4px;padding:0 15px;border:1px solid #d8e3da;border-radius:13px;background:#f5f8f4;transition:box-shadow .16s,border-color .16s}
.donate-card .amount-input:focus-within{border-color:#37674b;box-shadow:0 0 0 3px rgba(55,103,75,.12)}
.donate-card .amount-symbol{min-width:0;font-size:21px;font-weight:600;color:#55715f}
.donate-card .amount-input input{width:100%;min-width:0;font-family:inherit;font-size:32px;font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#1b3d2c;padding:0 6px}
.donate-card .amount-code{font-size:10px;padding:5px 7px;letter-spacing:.06em;color:#5c7565;background:#e7eee6;border-radius:6px;flex:0 0 auto}
.donate-card .amount-input:has([aria-invalid="true"]){border-color:#b84d3b;background:#fff9f7}
.donate-card .donate-error{margin:8px 0 0;font-size:12px;line-height:1.5;color:#a53529}
.donate-card .donate-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:21px;padding-top:18px;border-top:1px solid #edf0ed;font-size:12px;color:#6d7a72}
.donate-card .donate-summary strong{min-width:0;overflow-wrap:anywhere;text-align:right;font-size:19px;font-weight:800;letter-spacing:-.02em;color:#203a2c}
.donate-card .donate-summary small{font-size:10px;font-weight:650;color:#78867c;letter-spacing:.03em}
.donate-card .donate-submit{display:flex;align-items:center;justify-content:center;gap:14px;height:53px;margin-top:17px;border-radius:12px;background:#b84d3b;color:#fff;font-family:inherit;font-size:14px;font-weight:800;box-shadow:0 5px 12px rgba(184,77,59,.13)}
.donate-card .donate-submit:hover{background:#a44232;transform:translateY(-1px)}
.donate-card .donate-submit:active{transform:translateY(0)}
.donate-card .donate-next-step{display:flex;align-items:flex-start;justify-content:center;gap:7px;margin:14px 0 0;font-size:10px;line-height:1.6;text-align:center;color:#718075}
.donate-card .donate-next-step svg{flex:0 0 15px;margin-top:1px}
.donate-card :is(button,select):focus-visible{outline:3px solid #c99a4a;outline-offset:3px}
@media(max-width:720px){form.donate-card{padding:22px;margin-top:24px;border-radius:20px}.donate-card .donate-head h2{font-size:24px}}
@media(max-width:380px){form.donate-card{padding:18px}.donate-card .donate-currency-row{grid-template-columns:1fr;gap:8px}.donate-card .donate-heart{flex-basis:36px;height:36px}.donate-card .donate-head{gap:10px}.donate-card .donate-head h2{font-size:22px}.donate-card .amounts{grid-template-columns:repeat(2,minmax(0,1fr))}.donate-card .amount-input{padding:0 10px}.donate-card .amount-input input{font-size:27px}}
@media(prefers-reduced-motion:reduce){.donate-card *{transition:none!important}.donate-card .donate-submit:hover{transform:none}}

/* Native dialog keeps background controls inert and contains keyboard focus. */
.donation-modal{position:fixed;inset:0;width:min(420px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:24px;background:transparent;color:#172b24;overflow:auto;overscroll-behavior:contain;opacity:0;transform:translateY(18px) scale(.97);transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.2,1);box-shadow:0 24px 80px rgba(4,24,17,.25)}
.donation-modal::backdrop{background:rgba(7,24,19,0);backdrop-filter:blur(0);transition:background .22s ease,backdrop-filter .22s ease}
.donation-modal.is-visible{opacity:1;transform:translateY(0) scale(1)}
.donation-modal.is-visible::backdrop{background:rgba(7,24,19,.5);backdrop-filter:blur(5px)}
.donation-modal *{box-sizing:border-box}
.donation-modal form.donate-card{position:relative;width:100%;max-width:none;margin:0;padding:26px;border:0;border-radius:0;box-shadow:none;font-family:'DM Sans',sans-serif}
.donation-modal .donation-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#edf4ef;color:#245843;cursor:pointer}
.donation-modal .donation-close:hover{background:#dce9df}
.donation-modal .donate-head{padding-right:34px;margin-bottom:14px}
.donation-modal .donate-head h2{font-size:25px}
.donation-modal .donate-currency-row{margin:0 0 16px;padding:6px 0 16px}
.donation-modal .currency-select{appearance:auto;padding-right:10px}
.donation-modal .amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.donation-modal .amount-btn{height:44px;cursor:pointer;font-family:inherit}
.donation-modal .donate-custom-label{margin-top:16px}
.donation-modal .amount-input{display:flex;align-items:center;height:60px}
.donation-modal .amount-input input{border:0;outline:0;background:transparent;font-size:28px}
.donation-modal .donate-summary{margin-top:16px;padding-top:14px}
.donation-modal .donate-submit{width:100%;height:48px;border:0;cursor:pointer}
.donation-modal .donate-error[hidden]{display:none}
@media(max-width:480px){.donation-modal{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:20px}.donation-modal form.donate-card{padding:22px}.donation-modal .donate-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.donation-modal,.donation-modal::backdrop{transition:none;transform:none}}
