/*
Donate Us (Razorpay) – modern, responsive styling

Everything is namespaced under .gcrz-donate-wrap to avoid theme conflicts.
The plugin sets CSS variables on the wrapper:
  --gcrz-accent: #RRGGBB
  --gcrz-accent-rgb: r,g,b
*/

.gcrz-donate-wrap,
.gcrz-donate-wrap *,
.gcrz-donate-wrap *::before,
.gcrz-donate-wrap *::after {
  box-sizing: border-box;
}

.gcrz-donate-wrap{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:18px;
  width:100%;
  max-width:640px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  overflow:visible;
}

@media (max-width: 480px){
  .gcrz-donate-wrap{ padding:14px; border-radius:12px; }
}

.gcrz-header{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:12px; }
.gcrz-title{ margin:0; font-size:20px; line-height:1.3; color:#111827; }
.gcrz-desc{ margin:6px 0 0; color:#4b5563; font-size:14px; line-height:1.5; }

.gcrz-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(var(--gcrz-accent-rgb, 51,153,204), .10);
  border:1px solid rgba(var(--gcrz-accent-rgb, 51,153,204), .25);
  color:#111827;
  font-size:12px;
  white-space:nowrap;
}
.gcrz-badge-icon{ font-size:14px; line-height:1; }

.gcrz-preview{
  margin:6px 0 14px;
  padding:10px 12px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  font-size:14px;
  color:#111827;
}
.gcrz-preview strong{ color: var(--gcrz-accent, #3399cc); }

.gcrz-label{ display:block; font-weight:600; margin:12px 0 8px; color:#111827; font-size:13px; }
.gcrz-required{ color:#b91c1c; }

.gcrz-amount-options{ display:flex; flex-wrap:wrap; gap:10px; }
.gcrz-amount-chip{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e5e7eb;
  padding:10px 12px;
  border-radius:999px;
  cursor:pointer;
  user-select:none;
  background:#fff;
  transition: transform .08s ease, border-color .12s ease, box-shadow .12s ease;
}
.gcrz-amount-chip input{ position:absolute; opacity:0; pointer-events:none; }
.gcrz-amount-chip:hover{ border-color: rgba(var(--gcrz-accent-rgb, 51,153,204), .45); }
.gcrz-amount-chip.is-selected{
  border-color: var(--gcrz-accent, #3399cc);
  box-shadow: 0 0 0 3px rgba(var(--gcrz-accent-rgb, 51,153,204), .16);
}
.gcrz-amount-chip:active{ transform: scale(.98); }
.gcrz-amount-chip-text{ font-size:13px; font-weight:700; color:#111827; }

.gcrz-custom-amount{
  margin-top:10px;
  padding:12px;
  border:1px dashed #e5e7eb;
  border-radius:12px;
  background:#fbfdff;
  display:none;
}
.gcrz-custom-amount.is-open{ display:block; }
.gcrz-custom-amount-row{ display:flex; align-items:center; gap:10px; }
.gcrz-currency{
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  font-weight:800;
  color:#111827;
  min-width:48px;
  text-align:center;
}
.gcrz-hint{ margin-top:8px; font-size:12px; color:#6b7280; }

.gcrz-fields input,
.gcrz-fields textarea,
.gcrz-custom-amount input{
  width:100%;
  padding:11px 12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  color:#111827;
  font-size:14px;
}
.gcrz-fields textarea{ resize: vertical; min-height:44px; }

.gcrz-fields input:focus,
.gcrz-fields textarea:focus,
.gcrz-custom-amount input:focus{
  outline:none;
  border-color: rgba(var(--gcrz-accent-rgb, 51,153,204), .60);
  box-shadow: 0 0 0 3px rgba(var(--gcrz-accent-rgb, 51,153,204), .14);
}

.gcrz-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
@media (max-width: 640px){
  .gcrz-grid{ grid-template-columns:1fr; }
}

.gcrz-field.is-error input,
.gcrz-field.is-error textarea{
  border-color:#ef4444;
  box-shadow: 0 0 0 3px rgba(239,68,68,.12);
}
.gcrz-field-error{ margin-top:6px; font-size:12px; color:#b91c1c; min-height:16px; }

.gcrz-actions{ margin-top:14px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.gcrz-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:11px 16px;
  border-radius:12px;
  border:1px solid rgba(var(--gcrz-accent-rgb, 51,153,204), .20);
  background: var(--gcrz-accent, #3399cc);
  color:#fff;
  cursor:pointer;
  font-weight:800;
  font-size:14px;
  transition: transform .08s ease, filter .12s ease, opacity .12s ease;
}
.gcrz-btn:hover{ filter: brightness(.98); }
.gcrz-btn:active{ transform: scale(.99); }
.gcrz-btn:disabled{ opacity:.65; cursor:not-allowed; }

.gcrz-spinner{
  width:14px;
  height:14px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,.95);
  display:none;
  animation: gcrzspin .8s linear infinite;
}
.gcrz-donate-wrap.is-loading .gcrz-spinner{ display:inline-block; }

@keyframes gcrzspin{ from{ transform: rotate(0); } to{ transform: rotate(360deg); } }

.gcrz-status{ font-size:14px; color:#374151; }
.gcrz-status.is-error{ color:#b91c1c; }
.gcrz-status.is-ok{ color:#065f46; }

.gcrz-trust{
  margin-top:12px;
  display:flex;
  gap:8px;
  align-items:flex-start;
  padding:10px 12px;
  border-radius:12px;
  background: rgba(var(--gcrz-accent-rgb, 51,153,204), .08);
  border:1px solid rgba(var(--gcrz-accent-rgb, 51,153,204), .18);
  font-size:12px;
  color:#111827;
}
.gcrz-trust-icon{ line-height:1.2; }

@media (prefers-reduced-motion: reduce){
  .gcrz-amount-chip,
  .gcrz-btn{ transition:none; }
  .gcrz-spinner{ animation:none; }
}
