diff --git a/src/pages/index.astro b/src/pages/index.astro
index b966dfc..e6d8a45 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -149,6 +149,223 @@ const ctaCards = [
.scroll-indicator { display: none; }
.hero-donate { display: none; }
}
+
+ /* ── Donate modal ── */
+ .donate-overlay {
+ display: none;
+ position: fixed;
+ inset: 0;
+ background: rgba(0,0,0,0.62);
+ backdrop-filter: blur(4px);
+ z-index: 1000;
+ align-items: center;
+ justify-content: center;
+ padding: 16px;
+ }
+ .donate-overlay.open { display: flex; }
+ .donate-modal {
+ background: #fff;
+ border-radius: 14px;
+ width: 100%;
+ max-width: 420px;
+ overflow: hidden;
+ box-shadow: 0 24px 80px rgba(0,0,0,0.45);
+ }
+ .donate-header {
+ background: #1e2e1a;
+ padding: 22px 24px 18px;
+ position: relative;
+ }
+ .donate-close {
+ position: absolute;
+ top: 14px; right: 16px;
+ background: none;
+ border: none;
+ color: rgba(246,241,232,0.6);
+ font-size: 22px;
+ cursor: pointer;
+ line-height: 1;
+ padding: 4px;
+ transition: color 0.15s;
+ }
+ .donate-close:hover { color: #F6F1E8; }
+ .donate-body { padding: 24px; }
+ .donate-toggle {
+ display: flex;
+ background: #f0f0ee;
+ border-radius: 999px;
+ padding: 3px;
+ margin-bottom: 22px;
+ }
+ .donate-toggle-btn {
+ flex: 1;
+ border: none;
+ background: none;
+ border-radius: 999px;
+ padding: 8px 0;
+ font-family: 'Public Sans', sans-serif;
+ font-weight: 700;
+ font-size: 13px;
+ cursor: pointer;
+ color: #555;
+ transition: background 0.2s, color 0.2s;
+ }
+ .donate-toggle-btn.active {
+ background: #1e2e1a;
+ color: #fff;
+ }
+ .donate-chips {
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+ gap: 8px;
+ margin-bottom: 14px;
+ }
+ .donate-chip {
+ border: 2px solid #e0e0de;
+ background: #fff;
+ border-radius: 8px;
+ padding: 10px 4px;
+ font-family: 'Merriweather', serif;
+ font-weight: 700;
+ font-size: 15px;
+ color: #1e2e1a;
+ cursor: pointer;
+ text-align: center;
+ transition: border-color 0.15s, background 0.15s;
+ }
+ .donate-chip:hover { border-color: #7DA371; }
+ .donate-chip.selected { border-color: #7DA371; background: #edf4ec; }
+ .donate-custom-wrap {
+ position: relative;
+ margin-bottom: 16px;
+ }
+ .donate-custom-prefix {
+ position: absolute;
+ left: 14px;
+ top: 50%;
+ transform: translateY(-50%);
+ font-family: 'Merriweather', serif;
+ font-weight: 700;
+ font-size: 16px;
+ color: #1e2e1a;
+ pointer-events: none;
+ }
+ .donate-custom-input {
+ width: 100%;
+ border: 2px solid #e0e0de;
+ border-radius: 8px;
+ padding: 11px 14px 11px 28px;
+ font-family: 'Merriweather', serif;
+ font-weight: 700;
+ font-size: 16px;
+ color: #1e2e1a;
+ outline: none;
+ transition: border-color 0.15s;
+ box-sizing: border-box;
+ }
+ .donate-custom-input:focus,
+ .donate-custom-input.selected { border-color: #7DA371; }
+ .donate-impact {
+ font-family: 'Public Sans', sans-serif;
+ font-weight: 600;
+ font-size: 13px;
+ color: #5a7a56;
+ min-height: 20px;
+ margin-bottom: 18px;
+ line-height: 1.4;
+ }
+ .donate-giftaid {
+ background: #f9f7f0;
+ border: 1px solid #e8e4d4;
+ border-radius: 8px;
+ padding: 14px 16px;
+ margin-bottom: 20px;
+ display: flex;
+ gap: 12px;
+ align-items: flex-start;
+ }
+ .donate-giftaid input[type=checkbox] {
+ margin-top: 2px;
+ width: 18px;
+ height: 18px;
+ accent-color: #7DA371;
+ flex-shrink: 0;
+ cursor: pointer;
+ }
+ .donate-giftaid label {
+ font-family: 'Public Sans', sans-serif;
+ font-size: 13px;
+ font-weight: 600;
+ color: #3a3a2e;
+ line-height: 1.5;
+ cursor: pointer;
+ }
+ .donate-giftaid label strong { color: #1e2e1a; }
+ .donate-proceed-btn {
+ display: block;
+ width: 100%;
+ background: #7DA371;
+ color: #1e2e1a;
+ border: none;
+ border-radius: 999px;
+ padding: 14px 0;
+ font-family: 'Public Sans', sans-serif;
+ font-weight: 800;
+ font-size: 15px;
+ letter-spacing: 0.05em;
+ cursor: pointer;
+ transition: opacity 0.2s;
+ }
+ .donate-proceed-btn:hover { opacity: 0.88; }
+ .donate-step-pay { display: none; }
+ .donate-summary {
+ font-family: 'Merriweather', serif;
+ font-weight: 700;
+ font-size: 20px;
+ color: #1e2e1a;
+ text-align: center;
+ margin-bottom: 6px;
+ }
+ .donate-summary-sub {
+ font-family: 'Public Sans', sans-serif;
+ font-weight: 600;
+ font-size: 14px;
+ color: #666;
+ text-align: center;
+ margin-bottom: 28px;
+ line-height: 1.5;
+ }
+ .donate-jg-btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 10px;
+ width: 100%;
+ background: #1e2e1a;
+ color: #F6F1E8;
+ border: none;
+ border-radius: 999px;
+ padding: 15px 0;
+ font-family: 'Public Sans', sans-serif;
+ font-weight: 800;
+ font-size: 15px;
+ cursor: pointer;
+ text-decoration: none;
+ transition: opacity 0.2s;
+ margin-bottom: 12px;
+ }
+ .donate-jg-btn:hover { opacity: 0.82; }
+ .donate-back-link {
+ display: block;
+ text-align: center;
+ font-family: 'Public Sans', sans-serif;
+ font-weight: 600;
+ font-size: 13px;
+ color: #888;
+ cursor: pointer;
+ text-decoration: underline;
+ }
+ .donate-back-link:hover { color: #555; }
@@ -206,20 +423,16 @@ const ctaCards = [
-
-
-
+
+ Donate
+
-
+