.donate-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-md)}.donate-container{width:100%;max-width:28rem;margin:0 auto}.donate-header{text-align:center;margin-bottom:var(--space-2xl)}.donate-header h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text);margin-bottom:var(--space-sm)}.donate-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.donate-error{background:#fef2f2;border:1px solid var(--color-red-light);border-radius:var(--radius-sm, 4px);color:var(--color-red);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);font-size:var(--text-sm);text-align:center}.donate-amounts{border:none;padding:0;margin:0 0 var(--space-xl)}.donate-amounts legend{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-md)}.donate-amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}.donate-amount-option input{position:absolute;opacity:0;width:0;height:0}.donate-amount-label{display:flex;align-items:center;justify-content:center;padding:.75rem 0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);background:var(--glass-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:2px solid var(--color-border);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.donate-amount-label:hover{border-color:var(--color-accent)}.donate-amount-option input:checked+.donate-amount-label{border-color:var(--color-accent);background-color:var(--color-accent);color:#fff}.donate-amount-option input:focus-visible+.donate-amount-label{outline:2px solid var(--color-accent);outline-offset:2px}.donate-custom-wrap{display:flex;align-items:center;gap:var(--space-sm)}.donate-custom-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);white-space:nowrap}.donate-custom-input{display:flex;align-items:center;flex:1;border:2px solid var(--color-border);border-radius:var(--radius-sm, 4px);background:#fff;overflow:hidden;transition:border-color .15s ease}.donate-custom-input:focus-within{border-color:var(--color-accent)}.donate-currency{padding:.5rem 0 .5rem .75rem;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.donate-custom-input input{flex:1;border:none;outline:none;padding:.5rem .75rem .5rem .25rem;font-size:var(--text-base);font-family:var(--font-sans);background:transparent;color:var(--color-text);-moz-appearance:textfield}.donate-custom-input input::-webkit-inner-spin-button,.donate-custom-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.donate-custom-input input::placeholder{color:var(--color-text-muted)}.donate-recurring{margin-bottom:var(--space-xl)}.donate-recurring-toggle{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary)}.donate-recurring-toggle input{width:1.125rem;height:1.125rem;accent-color:var(--color-accent);cursor:pointer}.donate-frequency{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.donate-frequency-options{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.donate-frequency-option{display:block;text-align:center;cursor:pointer}.donate-frequency-option input{position:absolute;opacity:0;width:0;height:0}.donate-frequency-option span{display:block;padding:.5rem 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);background:var(--glass-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--color-border-light);border-radius:var(--radius-sm, 4px);transition:border-color .15s,background-color .15s,color .15s}.donate-frequency-option span:hover{border-color:var(--color-accent);color:var(--color-text)}.donate-frequency-option input:checked+span{border-color:var(--color-accent);background-color:var(--color-accent);color:#fff}.donate-frequency-option input:focus-visible+span{outline:2px solid var(--color-accent);outline-offset:2px}.donate-submit{display:block;width:100%;padding:.875rem;font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:var(--font-sans);letter-spacing:.01em;color:var(--color-cream);background-color:var(--color-accent);border:none;border-radius:2rem;cursor:pointer;transition:background-color .2s ease,transform .15s ease;animation:pulseGlow 2s ease-in-out .5s infinite}.donate-submit:hover{background-color:var(--color-accent-light);color:var(--color-charcoal);transform:translateY(-1px)}.donate-submit:active{transform:translateY(0)}.donate-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.donate-secure{margin-top:var(--space-md);text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.donate-thankyou{text-align:center;padding:var(--space-3xl) 0}.donate-thankyou-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:50%;background-color:var(--color-success-light);color:var(--color-success);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-lg)}.donate-thankyou h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text);margin-bottom:var(--space-md)}.donate-thankyou-message{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2xl);max-width:24rem;margin-left:auto;margin-right:auto}.donate-home-link{display:inline-block;padding:.625rem 1.75rem;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:2rem;text-decoration:none;transition:border-color .15s ease,color .15s ease}.donate-home-link:hover{border-color:var(--color-text);color:var(--color-text)}@media(max-width:480px){.donate-amount-grid,.donate-frequency-options{grid-template-columns:repeat(2,1fr)}.donate-custom-wrap{flex-direction:column;align-items:stretch}.donate-custom-label{margin-bottom:var(--space-xs)}}
