:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff7ef;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(16px,4vw,48px);box-sizing:border-box;width:100%}a{color:inherit}.currency-selection{background:#fff;border-radius:clamp(16px,3vw,26px);padding:clamp(24px,4vw,48px);box-shadow:0 20px 60px #0000001a;width:min(100%,960px);text-align:center;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:clamp(20px,4vw,36px)}.currency-selection h1{color:#d84315;font-size:clamp(2.2rem,4vw,2.8rem);font-weight:700;margin-top:-18px;margin-bottom:-12px}.currency-selection h2{color:#ff6f00;font-weight:500;font-size:clamp(1.2rem,2.7vw,1.5rem);margin-top:-20px;margin-bottom:0}.currency-selection h2.campaign-phrase{color:#d84315;font-weight:600;font-size:clamp(1.4rem,3vw,1.8rem)}.currency-selection .campaign-phrase-subtitle{color:#ff6f00;font-weight:500;font-size:clamp(1rem,2vw,1.2rem);font-style:italic;margin-top:-16px}.currency-selection .campaign-photo{width:100%;max-width:400px;max-height:400px;object-fit:contain;margin-top:-10px}.currency-selection>p{color:#555;font-size:clamp(1rem,1rem + .4vw,1.15rem);line-height:1.7;max-width:60ch}.mission-statement p{color:#d84315;font-size:clamp(1rem,.95rem + .3vw,1.1rem)}.currency-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(16px,3vw,36px);width:100%}.currency-btn{background:#fff;border:none;border-radius:18px;padding:clamp(20px,4vw,28px);min-height:200px;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 30px #00000026;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.2vw,14px)}.currency-btn:hover{transform:translateY(-8px);box-shadow:0 18px 36px #0003}.currency-btn:active{transform:translateY(-4px)}.currency-icon{font-size:clamp(2.2rem,3.6vw,3.2rem);font-weight:700;color:#ff6f00}.currency-btn h2{color:#333;font-size:clamp(1.4rem,2.4vw,1.8rem)}.currency-btn p{color:#777;font-size:clamp(.9rem,.85rem + .3vw,1rem);line-height:1.4}.currency-btn.usd .currency-icon{color:#1976d2}.currency-btn.cad .currency-icon{color:#d32f2f}.currency-btn.mxn .currency-icon{color:#388e3c}@media(max-width:640px){.currency-selection{padding:24px 20px;gap:24px}.currency-buttons{grid-template-columns:1fr}.currency-btn{min-height:0;padding:20px 18px}}.donor-info{background:#fff;border-radius:clamp(16px,3vw,24px);padding:clamp(24px,4vw,48px);box-shadow:0 20px 60px #0000001a;width:min(100%,820px);margin:0 auto}.donor-info h1{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:clamp(12px,2vw,20px);text-align:center}.donor-info>p{color:#666;margin-bottom:clamp(20px,3vw,32px);text-align:center;font-size:clamp(.95rem,.9rem + .3vw,1.05rem)}.donor-form{display:flex;flex-direction:column;gap:clamp(16px,2.2vw,24px)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(16px,2.2vw,24px)}.form-row-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2.2vw,24px)}@media(max-width:600px){.form-row-2{grid-template-columns:1fr}}.form-row-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(16px,2.2vw,24px)}.form-group{display:flex;flex-direction:column;text-align:left}.form-group label{color:#555;margin-bottom:8px;font-weight:500;font-size:clamp(.9rem,.85rem + .2vw,.98rem)}.form-group input{padding:clamp(12px,1.8vw,14px);border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .3s ease;min-width:0;width:100%}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input[readonly]{background:#f5f5f5;cursor:not-allowed}.form-actions{display:flex;justify-content:space-between;gap:clamp(12px,2vw,20px);margin-top:clamp(20px,3vw,32px);padding-top:clamp(16px,2vw,24px);border-top:2px solid #e0e0e0}@media(max-width:768px){.donor-info{padding:28px 22px}}@media(max-width:600px){.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.campaign-selection{background:#fff;border-radius:clamp(16px,3vw,28px);padding:clamp(24px,4vw,48px);box-shadow:0 20px 60px #0000001a;width:min(100%,1100px);text-align:center;margin:0 auto}.campaign-selection h1{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:clamp(18px,3vw,28px)}.back-btn-container{width:100%;display:flex;justify-content:flex-start;margin-top:20px}.donation-summary{background:#f8f9fa;border-radius:12px;padding:clamp(18px,3vw,26px);margin-bottom:clamp(20px,3vw,32px);text-align:left}.donation-summary p{margin-bottom:8px;color:#555;font-size:clamp(.95rem,.9rem + .2vw,1.05rem)}.campaign-form{display:flex;flex-direction:column;gap:clamp(20px,3vw,32px)}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(14px,2.5vw,22px)}.campaign-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:0;transition:all .3s ease;position:relative;text-align:center;display:flex;flex-direction:row;overflow:hidden;min-height:auto}.campaign-card.promoted{border:3px solid #667eea;box-shadow:0 4px 12px #667eea33}.featured-campaign{margin-bottom:clamp(24px,4vw,36px);min-height:280px}.featured-content{display:flex;flex-direction:row;height:100%}.featured-thumbnail{width:40%;min-width:300px;height:auto;overflow:hidden;display:flex;align-items:center;justify-content:center}.featured-thumbnail img{width:100%;height:100%;object-fit:contain}.featured-details{flex:1;display:flex;flex-direction:column;padding:clamp(20px,3vw,32px)}.featured-details .campaign-header{padding:0}.featured-details .campaign-cta{font-size:clamp(1.1rem,1.2rem + .3vw,1.4rem);font-weight:700;margin-bottom:0}.featured-details .campaign-secondary-cta{font-size:clamp(.95rem,1rem + .2vw,1.1rem);margin-top:12px;margin-bottom:16px}.featured-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:auto}.featured-details .more-info-btn{margin:0}.featured-details .campaign-info{padding:0;margin-bottom:16px}.featured-details .donate-btn{border-radius:8px;width:auto;max-width:250px}@media(max-width:768px){.featured-content{flex-direction:column}.featured-thumbnail{width:100%;min-width:auto;height:200px}.featured-details .donate-btn{max-width:100%}}.campaign-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #d8431526;border-color:#d84315}.campaign-badge{position:absolute;top:-10px;right:15px;background:linear-gradient(135deg,#d32f2f,#b71c1c);color:#fff;padding:5px 12px;border-radius:15px;font-size:.8rem;font-weight:700}.campaign-card:first-child .campaign-badge{background:linear-gradient(135deg,#2e7d32,#1b5e20)}.promoted-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:10;box-shadow:0 2px 8px #667eea4d}.campaign-thumbnail{width:140px;min-width:140px;max-height:180px;overflow:hidden;display:flex;align-items:center;justify-content:center}.campaign-thumbnail img{width:100%;height:100%;object-fit:contain}.campaign-content-wrapper{flex:1;display:flex;flex-direction:column;padding:clamp(14px,2.5vw,20px)}.campaign-header{padding:0;min-height:auto}.campaign-cta{color:#333;font-size:clamp(.9rem,.9rem + .15vw,1rem);line-height:1.5;margin:0 0 6px;text-align:left;font-weight:600}.campaign-secondary-cta{color:#555;font-size:clamp(.8rem,.8rem + .05vw,.875rem);line-height:1.5;margin:0 0 8px;text-align:left}.campaign-secondary-cta p{margin:0 0 6px}.campaign-secondary-cta p:last-child{margin-bottom:0}.campaign-icon{font-size:clamp(2rem,3vw,2.5rem);padding:clamp(20px,3vw,30px);background:linear-gradient(135deg,#f5f5f5,#e0e0e0);height:160px;display:flex;align-items:center;justify-content:center}.campaign-info{padding:0;margin-top:auto;margin-bottom:12px;display:flex;flex-direction:column;gap:8px;min-height:auto}.more-info-btn{background:none;border:none;color:#667eea;font-size:.85rem;cursor:pointer;padding:0;margin:0;text-align:left;text-decoration:underline;transition:color .2s ease}.more-info-btn:hover{color:#764ba2}.campaign-card .donate-btn{background:linear-gradient(135deg,#d84315,#bf360c);color:#fff;border:none;padding:clamp(12px,2vw,16px);font-size:clamp(.95rem,1rem,1.1rem);font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;border-radius:8px;margin-top:0}.donate-btn:hover{background:linear-gradient(135deg,#bf360c,#d84315);transform:translateY(-1px);box-shadow:0 4px 12px #d843154d}.error-container{display:flex;flex-direction:column;gap:clamp(20px,3vw,32px)}.error-container .error{color:#d32f2f;background:#ffebee;padding:12px 20px;border-radius:8px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:clamp(12px,2vw,20px);margin-top:clamp(16px,2.5vw,24px);padding-top:clamp(16px,2.5vw,24px);border-top:2px solid #e0e0e0}@media(max-width:900px){.campaign-selection{padding:28px 22px}}.popup-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.info-popup{background:#fff;border-radius:16px;max-width:700px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #e0e0e0}.popup-header h3{margin:0;color:#333;font-size:clamp(1.2rem,2vw,1.5rem)}.close-popup{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.close-popup:hover{color:#333}.popup-content{padding:24px;color:#555;line-height:1.7;text-align:left}.popup-content p,.popup-content h1,.popup-content h2,.popup-content h3,.popup-content h4,.popup-content h5,.popup-content h6,.popup-content ul,.popup-content ol,.popup-content li,.popup-content div{text-align:left!important}.popup-content img{max-width:100%;height:auto;border-radius:8px}@media(max-width:640px){.campaign-form{gap:24px}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions button{width:100%}.campaigns-grid{grid-template-columns:1fr}.campaign-card{flex-direction:column;min-height:auto}.campaign-thumbnail{width:100%;height:160px}.popup-overlay{padding:10px}.info-popup{max-height:90vh}}.stripe-payment-form{max-width:500px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.payment-summary{background:#f8f9fa;color:#1a1a1a;padding:24px;text-align:center;border-radius:8px;margin-bottom:0}.payment-summary h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#1a1a1a}.amount-display{font-size:32px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:4px;color:#1a1a1a}.amount-display .currency{font-size:24px;color:#1a1a1a}.amount-display .currency-code{font-size:16px;color:#1a1a1a;font-weight:500}.recurring-note{font-size:14px;background:#1a1a1a14;color:#1a1a1a;padding:8px 16px;border-radius:20px;display:inline-block;font-weight:500}.payment-form-section{padding:24px}.payment-form-section h4{margin:0 0 20px;color:#333;font-size:16px;font-weight:600}.card-element-wrapper{border:2px solid #e1e5e9;border-radius:8px;padding:16px;margin-bottom:16px;background:#fafbfc;transition:border-color .2s ease}.card-element-wrapper:hover{border-color:#c1c9d0}.card-element-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-message{background:#fff5f5;color:#e53e3e;border:1px solid #feb2b2;border-radius:6px;padding:12px;margin-bottom:16px;font-size:14px;display:flex;align-items:center;gap:8px}.error-message:before{content:"⚠️";flex-shrink:0}.donate-button{width:100%;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.donate-button:hover:not(:disabled){background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-1px);box-shadow:0 4px 12px #48bb784d}.donate-button:active:not(:disabled){transform:translateY(0)}.donate-button:disabled{background:#cbd5e0;cursor:not-allowed;transform:none;box-shadow:none}.donate-button.processing{background:#a0aec0;cursor:wait}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.security-notice{text-align:center;padding:16px 24px;background:#f7fafc;color:#718096}.security-notice small{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}@media(max-width:640px){.stripe-payment-form{margin:0 16px}.amount-display{font-size:24px}.amount-display .currency{font-size:18px}.payment-summary,.payment-form-section{padding:20px}}.paypal-payment-form{max-width:500px;margin:0 auto;padding:20px}.payment-summary{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:20px}.payment-summary h3{margin:0 0 15px;font-size:18px;color:#1a1a1a;font-weight:600}.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e0e0e0;color:#1a1a1a}.summary-row .amount{font-weight:700;font-size:20px;color:#1a1a1a}.summary-row.recurring{color:#1a1a1a;font-weight:500}.error-message{background:#ffe6e6;border:1px solid #ff4444;border-radius:8px;padding:15px;margin-bottom:20px}.error-message p{margin:0;color:#c00;font-size:14px}.retry-btn{margin-top:10px;padding:8px 16px;background:#0070ba;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.retry-btn:hover{background:#005a95}.paypal-loading{text-align:center;padding:30px 0}.paypal-loading .loading-spinner{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#0070ba;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.paypal-loading p{color:#666;font-size:14px}.paypal-buttons-container{margin:20px 0;min-height:55px}.security-notice{text-align:center;color:#666;font-size:13px}.security-notice p{margin:0}.tribute-section{margin:20px 0;padding:15px;background-color:#faf8f5;border-radius:8px;border:1px solid #e8e4dc}.tribute-toggle{display:flex;flex-direction:column;gap:4px}.tribute-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;color:#333}.tribute-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.tribute-subtitle{font-size:.9em;color:#666;margin-left:28px}.tribute-form{margin-top:20px;padding-top:20px;border-top:1px solid #e0dcd4}.tribute-type{margin-bottom:20px}.tribute-type label:first-child{display:block;margin-bottom:10px;font-weight:500;color:#333}.tribute-type-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tribute-type-option{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;padding:12px 20px;border:1px solid #ddd;border-radius:6px;background:#fff;transition:all .2s ease;height:48px;box-sizing:border-box;text-align:center}.tribute-type-option:hover{border-color:#b8860b;background-color:#fffaf0}.tribute-type-option input[type=radio]{width:16px;height:16px;min-width:16px;cursor:pointer;margin:0 8px 0 0;flex-shrink:0}.tribute-type-option span{white-space:nowrap}.tribute-type-option input[type=radio]:checked+span{color:#b8860b;font-weight:500}.tribute-field{margin-bottom:15px}.tribute-field label{display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:.95em}.tribute-field input,.tribute-field textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1em;transition:border-color .2s ease}.tribute-field input:focus,.tribute-field textarea:focus{outline:none;border-color:#b8860b;box-shadow:0 0 0 2px #b8860b1a}.tribute-field input:disabled,.tribute-field textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.tribute-field textarea{resize:vertical;min-height:80px}.tribute-notify-section{margin:20px 0;padding:15px;background-color:#fff;border-radius:6px;border:1px solid #e8e4dc}.tribute-notify-intro{margin:0 0 15px;font-size:.95em;color:#555}.char-count{display:block;text-align:right;font-size:.85em;color:#888;margin-top:4px}@media(max-width:480px){.tribute-type-options{grid-template-columns:1fr;gap:10px}}.donation-page{background:#fff;border-radius:clamp(16px,3vw,28px);padding:clamp(24px,4vw,48px);box-shadow:0 20px 60px #0000001a;width:min(100%,1000px);margin:0 auto;max-height:none;overflow:visible}@media(min-width:992px)and (min-height:760px){.donation-page{max-height:85vh;overflow-y:auto}}.donation-content{display:flex;flex-direction:column;gap:clamp(18px,3vw,28px);max-width:820px;margin:0 auto}.donation-page h1{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:clamp(18px,3vw,28px);text-align:center}.donation-summary{background:#f8f9fa;border-radius:12px;padding:12px 16px;margin-bottom:clamp(16px,2.5vw,24px);display:flex;gap:12px;align-items:flex-start}.summary-campaign-image{flex-shrink:0;width:120px;max-height:150px;overflow:hidden}.summary-campaign-image img{width:100%;height:100%;object-fit:contain}.summary-details{flex:1;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}.donation-summary p{margin:0;color:#555;font-size:.9rem;white-space:nowrap}.donation-summary strong{color:#333}@media(max-width:640px){.donation-summary{flex-direction:column}.summary-campaign-image{width:100%;max-height:200px}}.donation-form{display:flex;flex-direction:column;gap:clamp(16px,2.5vw,24px)}.donation-method-section label{display:block;color:#333;font-weight:600;margin-bottom:10px;font-size:clamp(1rem,.95rem + .3vw,1.1rem);text-align:left}.donation-methods{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,2.5vw,20px)}.donation-option{display:flex;align-items:center;justify-content:flex-start;gap:clamp(10px,1.8vw,16px);padding:clamp(12px,2vw,16px) clamp(18px,3vw,22px);border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .3s ease;flex:0 0 auto;white-space:nowrap}.donation-option:hover{border-color:#667eea;background:#f8f0ff}.donation-option input[type=radio]:checked+span{color:#667eea;font-weight:600}.donation-option input[type=radio]:checked{accent-color:#667eea}.donation-option input[type=radio]{width:20px;height:20px;min-width:20px;cursor:pointer;margin:0 8px 0 0;flex-shrink:0}.donation-option span{font-size:clamp(.95rem,.9rem + .2vw,1.05rem);color:#333}.paypal-section{background:#f8f9fa;border-radius:12px;padding:clamp(22px,3.5vw,32px);text-align:center;border:2px solid #e0e0e0}.paypal-section .payment-info p{color:#555;font-size:clamp(1rem,.95rem + .3vw,1.1rem);margin:0}.check-section{background:#f8f9fa;border-radius:18px;padding:clamp(24px,4vw,36px);border:2px solid #e0e0e0}.check-instructions h3{color:#d84315;margin-bottom:clamp(20px,3vw,28px);font-size:clamp(1.25rem,2.5vw,1.4rem);text-align:center}.instruction-method{margin-bottom:clamp(22px,3.5vw,32px);padding:clamp(18px,3.2vw,24px);background:#fff;border-radius:12px;border:1px solid #e0e0e0}.instruction-method h4{color:#333;margin-bottom:15px;font-size:clamp(1.05rem,1rem + .3vw,1.15rem);display:flex;align-items:center;gap:8px}.mailing-address{background:#fff3e0;border-left:4px solid #ff9800;padding:clamp(14px,2.5vw,20px);margin:clamp(12px,2.4vw,18px) 0;border-radius:8px}.mailing-address p{margin:5px 0;color:#333;font-size:clamp(.9rem,.85rem + .2vw,.98rem);line-height:1.5}.mailing-address strong{color:#d84315}.check-note,.contact-note{font-size:clamp(.85rem,.8rem + .2vw,.95rem);color:#666;font-style:italic;margin-top:clamp(12px,2vw,18px);line-height:1.5}.instruction-divider{text-align:center;margin:clamp(22px,3vw,30px) 0;position:relative}.instruction-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e0e0e0;z-index:1}.instruction-divider span{background:#f8f9fa;padding:0 15px;color:#999;font-weight:500;position:relative;z-index:2}.contact-info{margin:clamp(12px,2vw,18px) 0}.email-link{color:#d84315;text-decoration:none;font-weight:600;font-size:clamp(1rem,.95rem + .3vw,1.1rem);padding:clamp(10px,1.8vw,14px) clamp(14px,2.4vw,18px);background:#fff3e0;border-radius:10px;display:inline-block;transition:all .3s ease}.email-link:hover{background:#ffe0b2;transform:translateY(-2px)}.amount-section label{display:block;color:#333;font-weight:600;margin-bottom:10px;font-size:clamp(1rem,.95rem + .3vw,1.1rem)}.amount-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(12px,2vw,18px);margin-bottom:clamp(16px,2.5vw,24px)}.amount-btn{background:#fff;border:2px solid #e0e0e0;color:#333;padding:clamp(12px,2.5vw,18px);border-radius:8px;font-size:clamp(1rem,.95rem + .3vw,1.1rem);font-weight:500;cursor:pointer;transition:all .3s ease;width:100%}.amount-btn:hover{border-color:#d84315;background:#fff3e0;color:#d84315}.amount-btn.selected{background:linear-gradient(135deg,#d84315,#bf360c);color:#fff;border-color:#d84315}.amount-btn.has-description{padding:clamp(16px,2.8vw,22px);text-align:center;min-height:90px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.amount-value{font-weight:600;font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}.amount-description{font-size:clamp(.85rem,.8rem + .2vw,.95rem);font-weight:400;line-height:1.3;color:#666;text-align:center;max-width:150px}.amount-btn.selected .amount-description{color:#ffffffe6}.amount-btn.has-description:hover .amount-description{color:#d84315}.amount-btn.selected.has-description:hover .amount-description{color:#ffffffe6}.custom-amount{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(12px,2vw,18px)}.custom-amount label{margin-bottom:0;font-weight:500;color:#555}.custom-amount input{flex:1 1 200px;min-width:0;padding:clamp(12px,2vw,16px);border:2px solid #e0e0e0;border-radius:8px;font-size:16px}.custom-amount input:focus{outline:none;border-color:#d84315;box-shadow:0 0 0 3px #d843151a}.recurring-section{margin:12px 0 0}.recurring-option{display:flex;align-items:center;gap:clamp(10px,1.6vw,16px);padding:clamp(14px,2.5vw,18px);border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;background:#fff}.recurring-option:hover{border-color:#d84315;background:#fff3e0}.recurring-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#d84315}.recurring-option span{font-size:clamp(.95rem,.9rem + .2vw,1.05rem);color:#333;font-weight:500}.card-details{background:#f8f9fa;border-radius:12px;padding:clamp(20px,3vw,28px)}.card-details .form-group{margin-bottom:clamp(14px,2.4vw,20px)}.card-details label{display:block;color:#555;margin-bottom:8px;font-weight:500;font-size:clamp(.9rem,.85rem + .2vw,.98rem)}.card-details input{width:100%;padding:clamp(12px,2vw,16px);border:2px solid #e0e0e0;border-radius:8px;font-size:16px}.card-details input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.card-details .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:clamp(16px,2.5vw,20px)}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:clamp(12px,2vw,20px);margin-top:16px;padding-top:16px;border-top:2px solid #e0e0e0;flex-wrap:wrap}.security-notice{margin-top:30px;padding:15px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;text-align:center}.security-notice p{color:#856404;margin:0;font-size:.95rem}.amistad-section{background:#f8f9fa;border-radius:15px;padding:30px;text-align:center;border:2px solid #e0e0e0}.amistad-info h3{color:#d84315;margin-bottom:15px;font-size:1.5rem}.amistad-info p{color:#555;margin-bottom:20px;line-height:1.5}.amistad-button-container{margin:25px 0}.amistad-btn{background:linear-gradient(135deg,#d84315,#bf360c);color:#fff;border:none;padding:15px 30px;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #d843154d}.amistad-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #d8431566;background:linear-gradient(135deg,#bf360c,#d84315)}.amistad-note{font-size:.9rem;color:#666;font-style:italic;margin:0}.info-message{background:#e3f2fd;border:2px solid #2196f3;border-radius:10px;padding:15px 20px;margin-bottom:20px;display:flex;align-items:center;gap:12px;animation:fadeIn .3s ease-in-out}.info-message.campaign-required{background:#fff3e0;border-color:#ff9800}.info-message.amount-required{background:#f3e5f5;border-color:#9c27b0}.recurring-info-box{background:#e8f5e8;border:2px solid #4caf50;border-radius:10px;padding:15px 20px;margin:20px 0;display:flex;align-items:flex-start;gap:15px;animation:fadeIn .3s ease-in-out}.recurring-icon{font-size:1.8rem;flex-shrink:0;margin-top:2px}.recurring-text{flex:1}.recurring-text p:first-child{margin:0 0 8px;color:#2e7d32;font-size:1rem}.recurring-text p:last-child{margin:0;color:#4caf50;font-size:.9rem;line-height:1.4}.info-icon{font-size:1.5rem;flex-shrink:0}.info-message p{margin:0;color:#333;font-size:.95rem;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.popup-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-in-out}.recurring-popup{background:#fff;border-radius:15px;max-width:450px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;transform:scale(1);animation:popupIn .3s ease-out}@keyframes popupIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px 15px;border-bottom:2px solid #f0f0f0}.popup-header h3{color:#d84315;margin:0;font-size:1.4rem}.close-popup{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-popup:hover{background:#f0f0f0;color:#666}.popup-content{padding:25px 30px 30px}.popup-content p{color:#555;font-size:1.1rem;line-height:1.6;margin-bottom:25px}.popup-actions{display:flex;gap:15px}.popup-btn{flex:1;padding:15px 20px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.popup-btn.secondary{background:#f0f0f0;color:#666}.popup-btn.secondary:hover{background:#e0e0e0;color:#555}.popup-btn.primary{background:linear-gradient(135deg,#d84315,#ff6f00);color:#fff}.popup-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #d843154d}@media(max-width:768px){.donation-page{padding:26px 18px}.donation-content{max-width:100%}}@media(max-width:600px){.amount-buttons{grid-template-columns:1fr}.custom-amount{flex-direction:column;align-items:stretch}.donation-methods{flex-direction:column}.donation-option{flex:1 1 100%;width:100%}.card-details .form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:15px}.form-actions button{width:100%}.check-section{padding:20px 16px}.instruction-method{padding:16px;margin-bottom:20px}.instruction-method h4{flex-direction:column;align-items:flex-start;gap:5px;text-align:left}.mailing-address{margin:10px 0;padding:12px}.email-link{word-break:break-all;text-align:center;display:block}.instruction-divider{margin:20px 0}.instruction-divider span{font-size:.9rem;padding:0 12px}.recurring-popup{width:95%;max-width:none;margin:20px}.popup-header{padding:20px 20px 15px}.popup-header h3{font-size:1.2rem}.popup-content{padding:20px}.popup-content p{font-size:1rem;margin-bottom:20px}.popup-actions{flex-direction:column;gap:12px}.popup-btn{padding:12px 15px;font-size:.95rem}.recurring-info-box{padding:12px 15px;margin:15px 0;gap:12px}.recurring-icon{font-size:1.5rem}.recurring-text p:first-child{font-size:.95rem;margin-bottom:6px}.recurring-text p:last-child{font-size:.85rem}}.payment-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.back-to-amount-btn{background:none;border:1px solid #ddd;padding:8px 12px;border-radius:6px;color:#666;cursor:pointer;font-size:14px;transition:all .2s ease}.back-to-amount-btn:hover{background:#f5f5f5;border-color:#ccc}.payment-header h1{margin:0;font-size:24px;color:#333}.recurring-section{margin:12px 0 0;padding:14px;background:#f8f9fa;border-radius:8px}.recurring-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.recurring-option input[type=checkbox]{transform:scale(1.2)}.recurring-info{margin-top:8px;padding-left:24px;color:#666;font-style:italic}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(40px,6vw,80px);gap:20px}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:#666;font-size:clamp(1rem,1rem + .2vw,1.1rem);margin:0}.thank-you-page{background:#fff;border-radius:clamp(16px,3vw,26px);padding:clamp(24px,4vw,48px);box-shadow:0 20px 60px #0000001a;width:min(100%,760px);text-align:center;margin:0 auto}.thank-you-content{margin-top:20px}.success-icon{font-size:4rem;margin-bottom:20px;animation:bounce .6s ease-in-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.thank-you-page h1{background:linear-gradient(135deg,#d84315,#bf360c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:clamp(14px,2.5vw,22px);font-size:clamp(2.1rem,3.5vw,2.6rem)}.thank-you-message{color:#555;font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.7;margin-bottom:clamp(24px,3.5vw,36px)}.donation-summary-card{background:#f8f9fa;border-radius:16px;padding:clamp(22px,3.2vw,30px);margin-bottom:clamp(24px,3.5vw,36px);border:2px solid #e0e0e0}.donation-summary-card h2{color:#d84315;margin-bottom:clamp(16px,2.5vw,24px);font-size:clamp(1.25rem,2.1vw,1.5rem)}.summary-details{text-align:left;display:grid;gap:clamp(8px,1.5vw,14px)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:clamp(10px,1.6vw,14px) 0;border-bottom:1px solid #e0e0e0}.summary-row:last-child{border-bottom:none}.summary-row .label{font-weight:600;color:#555;font-size:clamp(.9rem,.85rem + .2vw,1rem)}.summary-row .value{font-weight:500;color:#333;font-size:clamp(.95rem,.9rem + .2vw,1.05rem)}.summary-row .value.amount{font-size:clamp(1.2rem,1rem + .6vw,1.35rem);font-weight:700;color:#1a1a1a}.account-section{margin-top:clamp(24px,3.5vw,36px)}.account-prompt h3{color:#333;margin-bottom:clamp(12px,2vw,20px);font-size:clamp(1.2rem,2vw,1.35rem)}.account-prompt p{color:#666;margin-bottom:clamp(20px,3vw,28px);line-height:1.6;font-size:clamp(.95rem,.9rem + .2vw,1.05rem)}.account-buttons{display:flex;gap:clamp(12px,2vw,18px);justify-content:center;flex-wrap:wrap}.create-account-btn{background:linear-gradient(135deg,#d84315,#bf360c);color:#fff;border:none;padding:clamp(12px,2vw,16px) clamp(22px,4vw,30px);border-radius:10px;font-size:clamp(.95rem,.9rem + .2vw,1.05rem);font-weight:600;cursor:pointer;transition:all .3s ease}.create-account-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #d843154d}.skip-btn{background:#fff;color:#666;border:2px solid #e0e0e0;padding:clamp(12px,2vw,16px) clamp(22px,4vw,30px);border-radius:10px;font-size:clamp(.95rem,.9rem + .2vw,1.05rem);font-weight:500;cursor:pointer;transition:all .3s ease}.skip-btn:hover{border-color:#d84315;color:#d84315;background:#fff3e0}.account-form{background:#f8f9fa;border-radius:16px;padding:clamp(22px,3.2vw,32px);border:2px solid #e0e0e0;margin-top:clamp(20px,3vw,28px)}.account-form h3{color:#d84315;margin-bottom:clamp(18px,2.6vw,26px);font-size:clamp(1.25rem,2.1vw,1.45rem)}.account-form .form-group{margin-bottom:clamp(16px,2.5vw,22px);text-align:left}.account-form label{display:block;color:#555;margin-bottom:8px;font-weight:500;font-size:clamp(.9rem,.85rem + .2vw,.98rem)}.account-form input{width:100%;padding:clamp(12px,2vw,16px);border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .3s ease}.account-form input:focus{outline:none;border-color:#d84315;box-shadow:0 0 0 3px #d843151a}.account-form input[readonly]{background:#f5f5f5;cursor:not-allowed}.account-form .form-actions{display:flex;justify-content:space-between;gap:clamp(12px,2vw,20px);margin-top:clamp(20px,3vw,28px)}.account-form .back-btn{background:#e0e0e0;color:#333;border:none;padding:clamp(10px,2vw,14px) clamp(18px,3.2vw,24px);border-radius:10px;font-size:clamp(.95rem,.9rem + .2vw,1rem);cursor:pointer;transition:all .3s ease}.account-form .back-btn:hover{background:#d0d0d0}.account-form .submit-btn{background:linear-gradient(135deg,#d84315,#bf360c);color:#fff;border:none;padding:clamp(10px,2vw,14px) clamp(18px,3.5vw,26px);border-radius:10px;font-size:clamp(.95rem,.9rem + .2vw,1rem);font-weight:600;cursor:pointer;transition:all .3s ease}.account-form .submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #d843154d}.check-instructions-card{background:#f8f9fa;border-radius:16px;padding:clamp(22px,3.2vw,30px);margin-bottom:clamp(24px,3.5vw,36px);border:2px solid #e0e0e0;text-align:left}.check-instructions-card h2{color:#d84315;margin-bottom:clamp(12px,2vw,18px);font-size:clamp(1.25rem,2.1vw,1.5rem);text-align:center}.instructions-intro{text-align:center;color:#555;margin-bottom:clamp(20px,3vw,28px);font-size:clamp(.95rem,.9rem + .2vw,1.05rem)}.instruction-section{margin-bottom:clamp(20px,3vw,28px)}.instruction-section h3{color:#333;margin-bottom:clamp(12px,2vw,16px);font-size:clamp(1.05rem,1.8vw,1.2rem)}.mailing-address-box{background:#fff;border:1px solid #ddd;border-radius:8px;padding:clamp(14px,2.2vw,18px);line-height:1.6;color:#333;font-size:clamp(.9rem,.85rem + .2vw,1rem)}.bank-info-box{background:#f0f7ff;border:1px solid #b3d4fc;border-radius:8px;padding:clamp(14px,2.2vw,18px) clamp(20px,3vw,30px);line-height:1.8;color:#333;font-size:clamp(.9rem,.85rem + .2vw,1rem);white-space:nowrap}.bank-info-box p{margin:4px 0}.bank-info-box strong{color:#1a5276}.contact-email-box{background:#fff;border:1px solid #ddd;border-radius:8px;padding:clamp(14px,2.2vw,18px);text-align:center;margin:clamp(12px,2vw,16px) 0}.contact-email-box a{color:#d84315;text-decoration:none;font-weight:600;font-size:clamp(.95rem,.9rem + .2vw,1.05rem)}.contact-email-box a:hover{text-decoration:underline}.instruction-note{margin-top:clamp(10px,1.6vw,14px);color:#666;font-size:clamp(.85rem,.8rem + .15vw,.95rem);font-style:italic}.instruction-divider{text-align:center;margin:clamp(20px,3vw,28px) 0;position:relative}.instruction-divider:before,.instruction-divider:after{content:"";position:absolute;top:50%;width:42%;height:1px;background:#ddd}.instruction-divider:before{left:0}.instruction-divider:after{right:0}.instruction-divider span{background:#fff;padding:0 15px;color:#999;font-weight:500;font-size:clamp(.9rem,.85rem + .2vw,1rem)}.clabe-instructions-card{background:#f8f9fa;border-radius:16px;padding:clamp(22px,3.2vw,30px);margin-bottom:clamp(24px,3.5vw,36px);border:2px solid #1a5276;text-align:left}.clabe-instructions-card h2{color:#1a5276;margin-bottom:clamp(12px,2vw,18px);font-size:clamp(1.25rem,2.1vw,1.5rem);text-align:center}.clabe-highlight{background:#e8f4fc;border:2px solid #1a5276}.clabe-number{font-family:Courier New,monospace;font-size:1.1em;font-weight:700;color:#1a5276;letter-spacing:1px}.reference-number{font-family:Courier New,monospace;font-weight:700;color:#d84315}.instruction-note.important{background:#fff3e0;border:1px solid #ffb74d;border-radius:8px;padding:12px;font-style:normal;color:#e65100}@media(max-width:600px){.thank-you-page h1{font-size:2rem}.account-buttons{flex-direction:column;align-items:stretch}.account-form .form-actions{flex-direction:column-reverse;gap:15px}.account-form .form-actions button{width:100%}}.language-selector{position:fixed;top:10px;right:10px;display:flex;align-items:center;gap:4px;background:#fffffff2;padding:6px 12px;border-radius:20px;box-shadow:0 2px 8px #0000001a;z-index:1000}.lang-btn{background:none;border:none;padding:4px 8px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;border-radius:4px}.lang-btn:hover{color:#333;background:#0000000d}.lang-btn.active{color:#2c7a2c;font-weight:600;background:#2c7a2c1a}.lang-divider{color:#ccc;font-size:14px}@media(max-width:480px){.language-selector{top:8px;right:8px;padding:4px 10px}.lang-btn{font-size:13px;padding:3px 6px}}.odoo-restart-banner{position:fixed;top:0;left:0;right:0;z-index:9999;padding:10px 16px;display:flex;align-items:center;gap:12px;background:#fff4ce;color:#5a4a00;border-bottom:1px solid #e8c878;box-shadow:0 2px 6px #0000000f;font-size:14px;font-weight:500}.odoo-restart-banner--recovered{background:#e3f6e3;color:#1f5d1f;border-bottom-color:#a7d7a7}.odoo-restart-banner__spinner{width:14px;height:14px;border:2px solid #c9a84a;border-top-color:transparent;border-radius:50%;animation:odoo-restart-spin .8s linear infinite;flex-shrink:0}@keyframes odoo-restart-spin{to{transform:rotate(360deg)}}.odoo-restart-banner__message{flex:1}.odoo-restart-banner__retry{opacity:.75;font-size:13px;font-weight:400}*{margin:0;padding:0;box-sizing:border-box}.fth-logo{width:clamp(140px,22vw,220px);height:auto;margin:0 auto clamp(16px,3vw,24px);display:block}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#ff8a65,#ffab91,#ffcc80);color:#333}.app-container{width:min(100%,1200px);flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;margin:0 auto}h1{color:#333;margin-bottom:clamp(8px,1.5vw,16px);font-size:clamp(2rem,3vw + 1rem,2.75rem)}h2{color:#555;margin-bottom:clamp(6px,1.1vw,12px);font-size:clamp(1.25rem,2vw + .5rem,1.6rem)}p{color:#666;line-height:1.6;font-size:clamp(.95rem,.8rem + .5vw,1.05rem)}button{cursor:pointer;transition:all .3s ease;border:none;border-radius:8px;font-size:clamp(.95rem,.8rem + .4vw,1rem);padding:clamp(10px,1.8vw,14px) clamp(18px,3.2vw,28px)}button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0000001a}.back-btn{background:#e0e0e0;color:#333;margin-right:10px}.back-btn:hover{background:#d0d0d0}.submit-btn{background:linear-gradient(135deg,#d84315,#ff6f00);color:#fff;font-weight:700}@media(max-width:640px){#root{padding:16px}.app-container{width:100%}}
