/* ── IWT Donation – Frontend Styles ── */
.iwt-donation-wrap *{box-sizing:border-box}
.iwt-donation-wrap{max-width:480px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1f2937}

/* Frequency Toggle */
.iwt-freq-toggle{display:flex;background:#f3f4f6;border-radius:10px;padding:4px;gap:4px;margin-bottom:20px}
.iwt-freq-btn{flex:1;padding:10px 16px;border:none;border-radius:7px;cursor:pointer;font-size:14px;font-weight:600;background:transparent;color:#6b7280;transition:all .2s;font-family:inherit}
.iwt-freq-btn.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 6px rgba(0,0,0,.12)}

/* Amount Grid */
.iwt-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}
.iwt-amt-btn{padding:12px 8px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-size:15px;font-weight:700;color:#374151;transition:all .2s;line-height:1;font-family:inherit}
.iwt-amt-btn:hover{border-color:#93c5fd;background:#eff6ff}
.iwt-amt-btn.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.iwt-custom-wrap{grid-column:1/-1}
.iwt-custom-amt{width:100%;padding:11px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;outline:none;transition:border-color .2s;background:#fff;color:#1f2937;font-family:inherit}
.iwt-custom-amt:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.iwt-custom-amt::placeholder{color:#9ca3af}

/* Form */
.iwt-donation-form{display:flex;flex-direction:column;gap:16px}
.iwt-field{display:flex;flex-direction:column;gap:5px}
.iwt-field label{font-size:13px;font-weight:600;color:#374151;letter-spacing:.01em}
.iwt-field input,.iwt-field textarea{padding:11px 14px;border:1.5px solid #d1d5db;border-radius:10px;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;background:#fff;color:#1f2937;width:100%}
.iwt-field input:focus,.iwt-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.iwt-field input::placeholder,.iwt-field textarea::placeholder{color:#9ca3af}
.iwt-field textarea{resize:vertical;min-height:80px}

/* Gateway tabs */
.iwt-gw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.iwt-gw-tab{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-size:13px;font-weight:600;color:#6b7280;transition:all .2s;font-family:inherit}
.iwt-gw-tab:hover{border-color:#93c5fd;color:#1d4ed8}
.iwt-gw-tab.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}

/* Gateway panels */
.iwt-gw-panel{display:none;flex-direction:column;gap:14px}
.iwt-gw-panel.active{display:flex}

/* Stripe card element */
.iwt-card-element{padding:12px 14px;border:1.5px solid #d1d5db;border-radius:10px;background:#fff;min-height:46px;display:block;width:100%;transition:border-color .2s,box-shadow .2s}
.iwt-card-element.StripeElement--focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.iwt-card-element.StripeElement--invalid{border-color:#dc2626}
.iwt-card-errors{color:#dc2626;font-size:13px;min-height:16px;margin-top:2px}

/* Submit button */
.iwt-submit-btn{width:100%;padding:14px;border:none;border-radius:10px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;letter-spacing:.2px;font-family:inherit}
.iwt-submit-btn:hover{opacity:.88}
.iwt-submit-btn:active{transform:scale(.99)}
.iwt-submit-btn:disabled{opacity:.55;cursor:not-allowed}
.iwt-submit-btn.iwt-hidden{display:none}

/* Messages */
.iwt-messages{font-size:14px;text-align:center;min-height:18px}
.iwt-messages.error{color:#dc2626}
.iwt-messages.success{color:#16a34a}

/* Success state */
.iwt-success-msg{text-align:center;padding:32px 20px}
.iwt-success-msg svg{width:56px;height:56px;color:#16a34a;margin:0 auto 16px;display:block}
.iwt-success-msg p{font-size:18px;font-weight:600;color:#111827}

/* Badges */
.iwt-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:capitalize}
.iwt-status-completed{background:#dcfce7;color:#15803d}
.iwt-status-pending{background:#fef9c3;color:#92400e}
.iwt-status-failed{background:#fee2e2;color:#b91c1c}

@media(max-width:420px){
    .iwt-amounts{grid-template-columns:repeat(2,1fr)}
    .iwt-custom-wrap{grid-column:1/-1}
    .iwt-gw-tab{font-size:12px;padding:8px 10px}
}
