/* ── IWT Forms — Front-end Styles ────────────────────────────────────────── */

:root {
    --iwtf-primary:   #1a3a6b;
    --iwtf-success:   #1a7a3a;
    --iwtf-error:     #cc2229;
    --iwtf-border:    #d0d5dd;
    --iwtf-radius:    8px;
    --iwtf-font:      -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.iwtf-wrap {
    max-width: 520px;
    font-family: var(--iwtf-font);
    font-size: 15px;
    color: #1a1a1a;
}

/* Alert */
.iwtf-alert {
    background: #fef2f2;
    border: 1px solid var(--iwtf-error);
    border-radius: var(--iwtf-radius);
    color: var(--iwtf-error);
    padding: 12px 16px;
    margin-bottom: 16px;
    font-weight: 500;
}

/* Description */
.iwtf-description {
    background: #f8fafc;
    border-left: 4px solid var(--iwtf-primary);
    padding: 12px 16px;
    border-radius: 0 var(--iwtf-radius) var(--iwtf-radius) 0;
    margin-bottom: 20px;
    color: #444;
    line-height: 1.6;
}

/* Amount badge */
.iwtf-amount-badge {
    display: inline-block;
    background: var(--iwtf-primary);
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    padding: 8px 20px;
    border-radius: 50px;
    margin-bottom: 24px;
    letter-spacing: 0.5px;
}

/* Form groups */
.iwtf-group {
    margin-bottom: 16px;
}
.iwtf-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #333;
}
.iwtf-req {
    color: var(--iwtf-error);
    margin-left: 2px;
}
.iwtf-group input[type="text"],
.iwtf-group input[type="email"],
.iwtf-group input[type="tel"],
.iwtf-group textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--iwtf-border);
    border-radius: var(--iwtf-radius);
    font-size: 15px;
    font-family: var(--iwtf-font);
    box-sizing: border-box;
    transition: border-color 0.15s;
}
.iwtf-group input:focus,
.iwtf-group textarea:focus {
    outline: none;
    border-color: var(--iwtf-primary);
    box-shadow: 0 0 0 3px rgba(26,58,107,0.12);
}
.iwtf-group textarea { resize: vertical; }

/* Stripe payment wrap */
.iwtf-payment-wrap {
    background: #f8fafc;
    border: 1px solid var(--iwtf-border);
    border-radius: var(--iwtf-radius);
    padding: 16px;
}
.iwtf-payment-errors {
    color: var(--iwtf-error);
    font-size: 13px;
    margin-top: 8px;
    min-height: 18px;
}

/* Buttons */
.iwtf-btn {
    display: inline-block;
    padding: 12px 28px;
    border: none;
    border-radius: var(--iwtf-radius);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s, transform 0.1s;
    letter-spacing: 0.3px;
}
.iwtf-btn:hover    { opacity: 0.88; }
.iwtf-btn:active   { transform: scale(0.98); }
.iwtf-btn:disabled { opacity: 0.55; cursor: not-allowed; }

.iwtf-btn-primary { background: var(--iwtf-primary); color: #fff; }
.iwtf-btn-success { background: var(--iwtf-success); color: #fff; }

/* Success */
.iwtf-success-wrap {
    text-align: center;
    padding: 32px 16px;
}
.iwtf-success-icon {
    font-size: 48px;
    margin-bottom: 12px;
}
.iwtf-success-wrap h3 {
    font-size: 22px;
    color: var(--iwtf-success);
    margin: 0 0 12px;
}
.iwtf-success-msg {
    color: #555;
    line-height: 1.6;
}
