/* NITW Donations — Frontend */
.ndon-donation-wrap { max-width: 720px; margin: 0 auto; }

/* ── Alerts ──────────────────────────────────────────────────────────── */
.ndon-alert {
    padding: 14px 18px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 14px;
    border-left: 4px solid transparent;
    display: none;
}
.ndon-alert-success { background: #f0fdf4; border-color: #22c55e; color: #15803d; }
.ndon-alert-error   { background: #fef2f2; border-color: #ef4444; color: #b91c1c; }

/* ── Row: keep cols aligned, allow error rows to be full-width ───────── */
.ndon-donation-wrap .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
    align-items: flex-start;
}

.ndon-donation-wrap .row > [class*="col-md"],
.ndon-donation-wrap .row > .ndon-error-col {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box;
}

/* form-group columns */
.ndon-donation-wrap .form-group.col-md-6  { width: 50%; }
.ndon-donation-wrap .form-group.col-md-12 { width: 100%; }

/* ── Error col: full width, zero top padding, tight spacing ──────────── */
.ndon-error-col {
    width: 100% !important;
    margin-top: -8px;
    margin-bottom: 4px;
    padding-top: 0 !important;
}

/* ── Field error message ─────────────────────────────────────────────── */
.ndon-field-error {
    display: block;
    color: #ef4444;
    font-size: 12px;
    margin-top: 2px;
    font-weight: 500;
    line-height: 1.4;
}

/* ── Has-error border on input ───────────────────────────────────────── */
.form-group.has-error .form-control {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239,68,68,0.12);
}

/* ── Valid input green indicator ─────────────────────────────────────── */
.form-group .form-control.ndon-field-valid {
    border-color: #22c55e !important;
}

/* ── Phone field: monospace so formatting stays readable ─────────────── */
#nitw_phone {
    letter-spacing: 0.03em;
}

/* ── reCAPTCHA ───────────────────────────────────────────────────────── */
#ndon-recaptcha-wrap { margin: 10px 0 4px; }

/* ── Submit spinner ──────────────────────────────────────────────────── */
.ndon-btn-spinner { margin-left: 6px; }

/* ── Notice ──────────────────────────────────────────────────────────── */
.ndon-notice {
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 16px;
    font-size: 13px;
}
.ndon-notice-warning { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; }

/* ── Responsive: stack cols on small screens ─────────────────────────── */
@media (max-width: 575px) {
    .ndon-donation-wrap .form-group.col-md-6  { width: 100%; }
}
