.zp-donate-box { background: #fdfdfd; padding: 25px; text-align: center; border-radius: 10px; margin: 40px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.06); border: 1px solid #eaeaea; }
.zp-donate-header h3 { margin-top: 0; margin-bottom: 10px;font-family: sans,Arial,sans-serif,tahoma !important;  }
.zp-donate-header p { color: #666; font-size: 14px; margin-bottom: 20px;font-family: sans,Arial,sans-serif,tahoma !important;text-align: center; }
.zp_submit_text{font-family: sans,Arial,sans-serif,tahoma !important;color:#666 !important; }
#zp_custom_amount_text{font-family: sans,Arial,sans-serif,tahoma !important;font-size: 14px;padding-bottom: 12px;color:#666 !important;}
#zp_custom_amount{font-family: sans,Arial,sans-serif,tahoma !important; }
.zp-donate-form { max-width: 500px; margin: 0 auto; }
.zp-amount-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 15px; }
.zp-amount-btn { padding: 12px 5px; border: 2px solid #eee; background: #fff; border-radius: 8px; cursor: pointer; transition: 0.2s; font-weight: bold; color: #555;font-family: sans,Arial,sans-serif,tahoma !important;  }
.zp-amount-btn:hover:not(.active) { border-color: #ccc; }
.zp-input-group { margin-bottom: 15px; }
.zp-input-row { display: flex; gap: 10px; margin-bottom: 15px; }
.zp-input-row .zp-input { margin-bottom: 0; }
.zp-input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; font-family: inherit; box-sizing: border-box; transition: 0.3s; }
.zp-btn-main { color: #fff; border: none; padding: 14px 25px; font-size: 16px; border-radius: 8px; cursor: pointer; transition: 0.3s; width: 100%; font-weight: bold; }
.zp-btn-main:hover { opacity: 0.9; transform: translateY(-1px); }
.zp-toast { visibility: hidden; min-width: 250px; background-color: #333; color: #fff; text-align: center; border-radius: 8px; padding: 16px; position: fixed; z-index: 999999; left: 50%; bottom: 30px; transform: translateX(-50%); font-size: 15px; box-shadow: 0 5px 15px rgba(0,0,0,0.2); transition: 0.5s; }
.zp-toast.show { visibility: visible; bottom: 50px; }
.zp-toast.success { background-color: #4caf50; }
.zp-toast.error { background-color: #f44336; }
.zp-loader { display: none; border: 3px solid rgba(255,255,255,0.3); border-top: 3px solid #fff; border-radius: 50%; width: 20px; height: 20px; animation: zpSpin 1s linear infinite; margin: 0 auto; }
@keyframes zpSpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@media (max-width: 480px) { .zp-input-row { flex-direction: column; } }