.gcla-donaciones { max-width: 720px; margin: 0 auto; }
.gcla-donaciones__form { border: 1px solid #dfe6df; border-radius: 14px; padding: 18px; background: #fff; box-shadow: 0 10px 30px rgba(16, 24, 40, 0.08); }
.gcla-header { text-align: center; margin-bottom: 14px; }
.gcla-title { font-weight: 700; font-size: 18px; color: #0f172a; }
.gcla-subtitle { font-size: 14px; color: #475569; margin-top: 4px; }
.gcla-progress { display: flex; justify-content: center; gap: 10px; margin-top: 10px; }
.gcla-dot { width: 10px; height: 10px; border-radius: 999px; background: #cbd5e1; }
.gcla-dot--active { background: #003C75; }

.gcla-step { display: none; }
.gcla-step--active { display: block; }

.gcla-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gcla-field { display: flex; flex-direction: column; gap: 6px; }
.gcla-field--full { grid-column: 1 / -1; }
.gcla-field label { font-size: 14px; color: #0f172a; font-weight: 400; }
.gcla-required { color: #dc2626; }
.gcla-field input, .gcla-field textarea {
  border: 1px solid #cbd5e1; border-radius: 10px; padding: 10px 12px; font-size: 14px; outline: none;
}
.gcla-field select {
  border: 1px solid #cbd5e1; border-radius: 10px; padding: 10px 12px; font-size: 14px; outline: none; background: #fff;
}
.gcla-field input:focus, .gcla-field textarea:focus { border-color: #003C75; box-shadow: 0 0 0 3px rgba(0, 60, 117, 0.15); }
.gcla-field select:focus { border-color: #003C75; box-shadow: 0 0 0 3px rgba(0, 60, 117, 0.15); }
.gcla-field .iti { width: 100%; }
.gcla-field .iti input { width: 100%; box-sizing: border-box; }
.gcla-field .iti input.iti__search-input { padding-left: 30px; }
.gcla-field .iti__selected-country,
.gcla-field .iti__selected-dial-code,
.gcla-field .iti__country-name,
.gcla-field .iti__dial-code { font-size: 14px; }

.gcla-actions { margin-top: 16px; display: flex; justify-content: center; }
.gcla-actions--between { justify-content: space-between; }
.gcla-btn { border: 0; border-radius: 10px; padding: 10px 16px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.gcla-btn--primary { background: #003C75; color: #fff; min-width: 220px; }
.gcla-btn--primary:hover { filter: brightness(0.97); }
.gcla-btn--ghost { background: #f1f5f9; color: #0f172a; }
.gcla-btn:disabled { opacity: 0.7; cursor: wait; }
.gcla-btn__spinner { display: none; width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 999px; animation: gcla-spin 0.75s linear infinite; }
.gcla-is-submitting .gcla-btn__spinner { display: inline-block; }
.gcla-submit-status { margin: 10px 0 0; text-align: center; font-size: 14px; color: #475569; }
@keyframes gcla-spin { to { transform: rotate(360deg); } }

.gcla-legal { display: grid; gap: 12px; }
.gcla-check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: #0f172a; }
.gcla-check input { margin-top: 2px; }
.gcla-pdf { border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px; background: #f8fafc; }
.gcla-pdf__title { font-weight: 700; font-size: 14px; color: #0f172a; }
.gcla-pdf__actions { margin-top: 6px; }
.gcla-link { background: transparent; border: 0; padding: 0; color: #003C75; font-weight: 700; cursor: pointer; text-decoration: underline; }
.gcla-pdf__hint { margin-top: 6px; font-size: 12px; color: #475569; }
.gcla-signature { margin: 2px 0 4px; }
.gcla-signature__box { border: 1px dashed #94a3b8; border-radius: 12px; background: #fff; overflow: hidden; max-width: 300px; width: 100%; }
.gcla-signature__canvas { display: block; width: 100%; height: 180px; touch-action: none; cursor: crosshair; }
.gcla-signature__canvas:focus { outline: 3px solid rgba(0, 60, 117, 0.15); outline-offset: 2px; }
.gcla-signature__actions { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.gcla-signature__hint { font-size: 12px; color: #475569; }

.gcla-notice { border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; font-size: 14px; }
.gcla-notice--success { background: rgba(34, 197, 94, 0.10); border: 1px solid rgba(34, 197, 94, 0.35); color: #065f46; }
.gcla-notice--error { background: rgba(239, 68, 68, 0.08); border: 1px solid rgba(239, 68, 68, 0.35); color: #7f1d1d; }

.gcla-segment { display: inline-flex; border: 1px solid #cbd5e1; border-radius: 10px; overflow: hidden; background: #f8fafc; width: fit-content;}
.gcla-segment__opt { display: inline-flex; align-items: center; }
.gcla-segment__opt input { position: absolute; opacity: 0; pointer-events: none; }
.gcla-segment__opt span { padding: 8px 12px; font-weight: 400; font-size: 14px; color: #0f172a; cursor: pointer; }
.gcla-segment__opt input:checked + span { background: #003C75; color: #fff; }

.gcla-inline-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.gcla-only-juridica { display: none; }
.gcla-only-fisica { display: none; }
.gcla-is-juridica .gcla-only-juridica { display: flex; }
.gcla-is-fisica .gcla-only-fisica { display: flex; }

@media (max-width: 640px) {
  .gcla-grid { grid-template-columns: 1fr; }
  .gcla-inline-2 { grid-template-columns: 1fr; }
  .gcla-btn--primary { min-width: 0; width: 100%; }
  .gcla-actions--between { gap: 10px; }
  .gcla-actions--between .gcla-btn { flex: 1; }
  .gcla-signature__actions { align-items: flex-start; flex-direction: column; gap: 4px; }
}

