.payment-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;opacity:0;transition:opacity .3s ease;pointer-events:none}.payment-backdrop.active{opacity:1;pointer-events:all}.payment-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:10000;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.payment-modal.active{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:all}.payment-header{padding:24px 24px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom,#fafafa,#fff);position:sticky;top:0;z-index:10}.payment-header-content{display:flex;align-items:center;gap:16px}.payment-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d}.payment-header h2{margin:0;font-size:20px;font-weight:700;color:#1a1a1a;letter-spacing:-.02em}.payment-header p{margin:4px 0 0;font-size:14px;color:#6b7280}.payment-close-btn{background:transparent;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.payment-close-btn:hover{background:#f3f4f6;color:#4b5563}.payment-summary{padding:20px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;color:#6b7280}.summary-row:last-child{margin-bottom:0}.summary-row.total{font-size:18px;font-weight:700;color:#1a1a1a;padding-top:12px}.summary-divider{height:1px;background:#e5e7eb;margin:12px 0}.payment-body{padding:24px}.payment-error{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 24px 20px;animation:shake .4s}.payment-error span{font-size:18px}.payment-error p{margin:0;font-size:14px;color:#dc2626;line-height:1.5}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.stripe-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{display:flex;align-items:center;font-size:14px;font-weight:600;color:#374151;letter-spacing:-.01em}.card-element-wrapper{padding:14px 16px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;transition:all .2s;min-height:48px}.card-element-wrapper:hover{border-color:#d1d5db}.card-element-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-row{display:flex;gap:12px}.form-group-half{flex:1}.stripe-error{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:13px;color:#dc2626;animation:slideDown .3s ease}.stripe-error p{margin:0;line-height:1.5}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-actions{display:flex;gap:12px;margin-top:8px}.btn-cancel{flex:1;padding:14px 24px;border:1.5px solid #e5e7eb;background:#fff;color:#6b7280;font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.btn-cancel:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-pay{flex:2;padding:14px 24px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d;display:flex;align-items:center;justify-content:center}.btn-pay:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.btn-pay:active:not(:disabled){transform:translateY(0)}.btn-pay:disabled{background:#d1d5db;cursor:not-allowed;box-shadow:none}.btn-loading{display:flex;align-items:center;gap:10px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stripe-footer{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:16px;font-size:12px;color:#9ca3af;border-top:1px solid #f3f4f6}.payment-success{padding:60px 40px;text-align:center;animation:successSlide .5s cubic-bezier(.4,0,.2,1)}@keyframes successSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-icon{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;animation:successPop .6s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 8px 24px #10b9814d}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.payment-success h2{margin:0 0 12px;font-size:24px;font-weight:700;color:#1a1a1a;letter-spacing:-.02em}.payment-success p{margin:0 0 24px;font-size:15px;color:#6b7280;line-height:1.6}.success-amount{font-size:36px;font-weight:700;color:#10b981;letter-spacing:-.02em}@media (max-width: 640px){.payment-modal{width:95%;max-height:95vh}.payment-header{padding:20px 20px 16px}.payment-icon{width:48px;height:48px;font-size:28px}.payment-header h2{font-size:18px}.payment-summary{padding:16px 20px}.payment-body{padding:20px}.form-actions{flex-direction:column}.btn-cancel,.btn-pay{width:100%}.form-row{flex-direction:column}.payment-success{padding:40px 24px}.success-icon{width:64px;height:64px;font-size:32px}.payment-success h2{font-size:20px}.success-amount{font-size:28px}}.payment-methods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.payment-method-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;transition:all .2s;font-size:13px;font-weight:600;color:#6b7280}.payment-method-btn:hover:not(:disabled){border-color:#d1d5db;background:#f9fafb}.payment-method-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d);color:#667eea}.payment-method-btn:disabled{opacity:.5;cursor:not-allowed}.payment-method-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.payment-method-btn.active .payment-method-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.payment-method-btn:not(.active) .payment-method-icon{background:#f3f4f6;color:#6b7280}.applepay-icon svg{width:24px;height:24px}.googlepay-icon svg{width:24px;height:24px}.card-form{display:flex;flex-direction:column;gap:20px}.wallet-description{text-align:center;color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 24px;padding:16px;background:#f9fafb;border-radius:8px}.btn-applepay{background:#000}.btn-applepay:hover:not(:disabled){background:#1a1a1a}.btn-googlepay{background:#4285f4}.btn-googlepay:hover:not(:disabled){background:#357ae8}@media (max-width: 640px){.payment-methods-grid{grid-template-columns:1fr}.payment-method-btn{flex-direction:row;justify-content:flex-start;padding:14px 16px}.payment-method-icon{width:36px;height:36px}}.payment-request-button-wrapper{min-height:48px}.digital-wallet-action{padding:24px 0}:root{--PhoneInput-color--focus: #03b2cb;--PhoneInputInternationalIconPhone-opacity: .8;--PhoneInputInternationalIconGlobe-opacity: .65;--PhoneInputCountrySelect-marginRight: .35em;--PhoneInputCountrySelectArrow-width: .3em;--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);--PhoneInputCountrySelectArrow-borderWidth: 1px;--PhoneInputCountrySelectArrow-opacity: .45;--PhoneInputCountrySelectArrow-color: currentColor;--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);--PhoneInputCountrySelectArrow-transform: rotate(45deg);--PhoneInputCountryFlag-aspectRatio: 1.5;--PhoneInputCountryFlag-height: 1em;--PhoneInputCountryFlag-borderWidth: 1px;--PhoneInputCountryFlag-borderColor: rgba(0,0,0,.5);--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,.1)}.PhoneInput{display:flex;align-items:center}.PhoneInputInput{flex:1;min-width:0}.PhoneInputCountryIcon{width:calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));height:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--square{width:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--border{background-color:var(--PhoneInputCountryFlag-backgroundColor--loading);box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor)}.PhoneInputCountryIconImg{display:block;width:100%;height:100%}.PhoneInputInternationalIconPhone{opacity:var(--PhoneInputInternationalIconPhone-opacity)}.PhoneInputInternationalIconGlobe{opacity:var(--PhoneInputInternationalIconGlobe-opacity)}.PhoneInputCountry{position:relative;align-self:stretch;display:flex;align-items:center;margin-right:var(--PhoneInputCountrySelect-marginRight)}.PhoneInputCountrySelect{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;border:0;opacity:0;cursor:pointer}.PhoneInputCountrySelect[disabled],.PhoneInputCountrySelect[readonly]{cursor:default}.PhoneInputCountrySelectArrow{display:block;content:"";width:var(--PhoneInputCountrySelectArrow-width);height:var(--PhoneInputCountrySelectArrow-width);margin-left:var(--PhoneInputCountrySelectArrow-marginLeft);border-style:solid;border-color:var(--PhoneInputCountrySelectArrow-color);border-top-width:0;border-bottom-width:var(--PhoneInputCountrySelectArrow-borderWidth);border-left-width:0;border-right-width:var(--PhoneInputCountrySelectArrow-borderWidth);transform:var(--PhoneInputCountrySelectArrow-transform);opacity:var(--PhoneInputCountrySelectArrow-opacity)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon+.PhoneInputCountrySelectArrow{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon--border{box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon .PhoneInputInternationalIconGlobe{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}
