.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:200;opacity:0;background:#0009;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:40px 0;animation:.3s forwards fadeIn;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.modal-overlay.open{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.payment-card{background:#fff;border-radius:30px;flex-shrink:0;width:90%;max-width:450px;margin:auto;padding:40px;animation:.3s forwards slideUp;position:relative;transform:translateY(20px)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.close-btn{cursor:pointer;color:#666;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.close-btn:hover{color:var(--text-dark);background:#e2e8f0}.close-btn:disabled{opacity:.5;cursor:not-allowed}.modal-title{text-align:center;color:var(--text-dark);margin-bottom:5px;font-size:1.4rem;font-weight:800}.modal-subtitle{color:var(--text-light);text-align:center;margin-bottom:30px;font-size:.9rem}.modal-subtitle strong{color:var(--brand-primary)}.payment-card .form-label{color:var(--text-dark);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.payment-card .form-input{background:#f8fafc;border:2px solid #f1f5f9;border-radius:12px;outline:none;width:100%;margin-bottom:20px;padding:14px;font-family:inherit;font-size:1rem;transition:all .2s}.payment-card .form-input:focus{border-color:var(--brand-primary);background:#fff}.payment-card .form-input:disabled{opacity:.7;cursor:not-allowed}.modal-textarea{resize:none;height:100px}.pay-btn{background:var(--text-dark);color:#fff;cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-family:inherit;font-size:1rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 10px 25px #0000001a}.pay-btn:hover{background:var(--brand-primary);transform:translateY(-2px)}.stripe-note{text-align:center;color:#9ca3af;margin-top:15px;font-size:.8rem}.pay-btn:disabled{cursor:not-allowed;background:#9ca3af;transform:none}.pay-btn:disabled:hover{background:#9ca3af;transform:none}.error-message{color:#dc2626;text-align:center;background:#fef2f2;border-radius:12px;margin-bottom:20px;padding:12px 16px;font-size:.9rem}.success-message{text-align:center;padding:20px 0}.success-icon{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 20px;font-size:1.8rem;display:flex}.success-message h3{color:var(--text-dark);margin-bottom:10px;font-size:1.3rem}.success-message p{color:var(--text-light);margin-bottom:20px;font-size:.95rem}.error-state{text-align:center;padding:20px 0}.error-state p{color:var(--text-light);margin-bottom:20px}.payment-card form .StripeElement,.payment-card form>div:first-child{margin-bottom:20px}.payment-element-wrap{margin-bottom:18px}.payment-status-message{color:var(--text-light);text-align:center;margin:12px 0 18px;font-size:.85rem;line-height:1.5}.payment-status-error{color:#dc2626}.payment-card .form-input-invalid{background:#fff7f7;border-color:#fca5a5}.field-error{color:#dc2626;margin:-12px 0 16px;font-size:.8rem}.field-meta{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:-12px;margin-bottom:16px;display:flex}.field-meta .field-error{margin:0}.char-counter{color:#9ca3af;white-space:nowrap;margin-left:auto;font-size:.8rem}.char-counter-low{color:#d97706}.price-breakdown{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:18px;padding:14px 16px}.price-breakdown-line{color:var(--text-dark);font-size:1rem;font-weight:700}.price-breakdown-loading{color:#9ca3af;font-weight:500}.price-breakdown-error{color:#dc2626;font-size:.9rem;font-weight:500}.hold-note{color:var(--text-light);margin:8px 0 0;font-size:.82rem;line-height:1.5}.terms-row{color:var(--text-light);cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:18px;font-size:.85rem;line-height:1.5;display:flex}.terms-row input{width:18px;height:18px;accent-color:var(--brand-primary);flex-shrink:0;margin-top:3px}.terms-row a{color:var(--brand-primary);text-decoration:underline}.terms-row-invalid{color:#dc2626}.link-btn{color:var(--brand-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600;text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:not-allowed}.modal-back-btn{margin:14px auto 0;display:block}.success-message a.pay-btn{text-decoration:none}@media (max-width:600px){.payment-card{border-radius:24px;padding:30px 25px}.modal-title{font-size:1.2rem}}
