.card-form{display:flex;flex-direction:column;gap:12px}.card-form__field{display:flex;align-items:center;background:var(--payment-color-white, #fff);border-radius:12px;padding:0 16px;height:56px;border:2px solid var(--payment-color-border);transition:border-color .2s}.card-form__field:focus-within{border-color:var(--payment-color-primary)}.card-form__field--stripe{padding:0 16px}.card-form__field--stripe .StripeElement{width:100%}.card-form__error{font-size:13px;color:var(--payment-color-error);padding:0 4px}.card-form__submit{width:100%;height:56px;background:var(--payment-color-primary);color:var(--payment-color-white, #fff);border:none;border-radius:100px;font-size:15px;font-weight:600;letter-spacing:-.25px;cursor:pointer;font-family:inherit;transition:background .15s ease;margin-top:4px}.card-form__submit:hover{background:var(--payment-color-primary-dark)}.card-form__submit:disabled{background:#b5bbc3;cursor:not-allowed}.card-form__unavailable{font-size:15px;color:#5c6370;text-align:center;padding:16px 0;line-height:1.4}.card-form__submit-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--payment-color-white, #fff);border-top-color:transparent;border-radius:50%;animation:card-form-submit-spin .8s linear infinite}@keyframes card-form-submit-spin{to{transform:rotate(360deg)}}.payment-processing{display:flex;flex-direction:column;min-height:480px;padding:24px}.payment-processing__title{font-size:24px;font-weight:600;line-height:32px;color:var(--text-primary);margin:0}.payment-processing__loader{flex:1;display:flex;align-items:center;justify-content:center}.amount-input{display:flex;flex-direction:column;gap:12px}.amount-input__field{display:flex;align-items:center;background:var(--payment-color-white, #fff);border-radius:12px;padding:8px 10px 8px 16px;border:2px solid var(--payment-color-border);transition:border-color .2s;cursor:text}.amount-input__field:focus-within{border-color:var(--payment-color-primary)}.amount-input__field--error,.amount-input__field--error:focus-within{border-color:var(--payment-color-error);background:var(--payment-color-error-bg)}.amount-input__input,.amount-input__currency,.amount-input__sizer{font-size:24px;font-weight:600;line-height:26px;letter-spacing:.24px;font-family:var(--font-family-secondary);font-variant-numeric:tabular-nums}.amount-input__input{border:none;background:transparent;color:var(--text-primary);outline:none;padding:0}.amount-input__input::placeholder{color:#8c8f97}.amount-input__currency{color:var(--text-primary);margin-left:0;flex-shrink:0}.amount-input__sizer{position:absolute;visibility:hidden;pointer-events:none;white-space:pre}.amount-input__error{font-size:13px;color:var(--payment-color-error);padding:0 4px}.amount-input__chips{display:flex;gap:4px}.amount-input__chip{height:32px;padding:0 8px;border-radius:8px;border:none;background:var(--payment-color-bg-light);font-size:17px;font-weight:600;line-height:20px;letter-spacing:.15px;color:var(--payment-color-text);cursor:pointer;transition:all .15s ease;white-space:nowrap;font-family:var(--font-family-secondary);font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center}.amount-input__chip:hover{background:#f8f9fa}.amount-input__chip--selected,.amount-input__chip--selected:hover{background:var(--payment-color-chip-selected);color:var(--payment-color-white, #fff)}.payment-method-item{display:flex;align-items:center;width:100%;min-height:56px;padding:8px;background:var(--payment-color-bg-method);border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .15s ease;font-family:inherit;text-align:left}.payment-method-item:hover{background:var(--payment-color-bg-light)}.payment-method-item--selected{border-color:var(--payment-color-primary)}.payment-method-item__icon{width:40px;height:40px;margin-right:8px;flex-shrink:0;object-fit:contain;border-radius:12px}.payment-method-item__card-type{width:36px;height:36px;margin-left:4px;margin-top:-8px;margin-bottom:-8px;border-radius:4px;object-fit:contain;flex-shrink:0}.payment-method-item__text{flex:1;display:flex;flex-direction:column;min-width:0}.payment-method-item__label{font-size:15px;font-weight:500;line-height:20px;letter-spacing:.23px;color:var(--payment-color-text);display:flex;align-items:center}.payment-modal__overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:900;animation:payment-modal-fade-in .2s ease}@keyframes payment-modal-fade-in{0%{opacity:0}to{opacity:1}}.payment-modal__container{--payment-modal-pad: 16px;position:relative;background:var(--payment-color-white, #fff);border-radius:24px;width:100%;max-width:390px;padding-bottom:20px;max-height:90vh;overflow:hidden auto;animation:payment-modal-slide-up .3s ease;font-family:var(--font-family-primary);letter-spacing:-.25px}.payment-modal__close{position:absolute;top:16px;right:16px;width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer;z-index:1}.payment-modal__close-icon{display:block;width:100%;height:100%}.payment-modal__container--fit{width:fit-content}@media(min-width:497px){.payment-modal__close{top:32px;right:32px}.payment-modal__container{--payment-modal-pad: 42px;max-width:704px;border-radius:48px;padding-top:16px;padding-bottom:32px}}@media(min-width:1024px){.payment-modal__container{max-width:808px}}.payment-modal__container--narrow{max-width:520px}.payment-modal__container--no-padding{padding:0}@keyframes payment-modal-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.payment-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px var(--payment-modal-pad);padding-right:calc(var(--payment-modal-pad) + 44px)}.payment-modal__campaign{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.payment-modal__campaign-img{width:60px;height:60px;border-radius:12px;object-fit:cover;flex-shrink:0}.payment-modal__campaign-info{min-width:0}.payment-modal__campaign-title{font-size:20px;font-weight:600;line-height:24px;color:var(--payment-color-text);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.payment-modal__campaign-charity{font-size:13px;line-height:16px;color:var(--payment-color-text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-modal__loading{text-align:center;padding:40px var(--payment-modal-pad);color:var(--payment-color-text-secondary);font-size:16px}.payment-modal__widget-root{width:100%;min-height:480px;padding:8px}.payment-modal__method-section{padding:0 var(--payment-modal-pad);margin-top:16px;display:flex;flex-direction:column;gap:12px}.payment-modal__method-label{font-size:14px;font-weight:400;line-height:22px;letter-spacing:-.25px;color:var(--payment-color-text-secondary)}.payment-modal__method-list{display:flex;flex-direction:column;gap:8px}@media(min-width:497px){.payment-modal__method-list{display:grid;grid-template-columns:repeat(2,1fr)}.payment-modal__method-list .payment-method-item:last-child:nth-child(odd){grid-column:1 / -1}}@media(min-width:1024px){.payment-modal__method-list{grid-template-columns:repeat(3,1fr)}.payment-modal__method-list .payment-method-item:last-child:nth-child(odd){grid-column:auto}}.payment-modal__amount-section{padding:0 var(--payment-modal-pad)}.payment-modal__cta{display:flex;justify-content:center;padding:16px var(--payment-modal-pad);margin-top:16px}.payment-modal__card-form-section{padding:16px var(--payment-modal-pad);margin-top:16px}.payment-modal__submit{display:flex;align-items:center;justify-content:center;width:320px;height:56px;background:var(--payment-color-primary);color:var(--payment-color-white, #fff);border:none;border-radius:999px;font-size:15px;font-weight:600;line-height:18px;letter-spacing:.23px;cursor:pointer;transition:background .15s ease;font-family:var(--font-family-primary)}.payment-modal__submit:hover:not(:disabled){background:var(--payment-color-primary-dark)}.payment-modal__submit--disabled{cursor:not-allowed;opacity:.4}.payment-modal__error{display:block;width:calc(100% - var(--payment-modal-pad) * 2);margin:12px var(--payment-modal-pad) 0;padding:10px 14px;background:var(--payment-color-white, #fff);border:none;border-radius:10px;font-size:14px;font-family:inherit;color:var(--payment-color-error);text-align:center;cursor:pointer}
