/* WP SmartForm – Public Styles */

.wpsf-form-wrap { max-width: 600px; }

.wpsf-form .wpsf-field { margin-bottom: 20px; }

.wpsf-label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 15px;
}
.wpsf-required { color: #c00; margin-left: 3px; }

.wpsf-input {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
    box-sizing: border-box;
    transition: border-color .15s;
}
.wpsf-input:focus { outline: none; border-color: #2271b1; box-shadow: 0 0 0 2px rgba(34,113,177,.2); }

.wpsf-textarea { resize: vertical; min-height: 110px; }

/* Phone / OTP */
.wpsf-phone-group { display: flex; gap: 8px; }
.wpsf-phone-group .wpsf-input { flex: 1; }
.wpsf-send-otp-btn { white-space: nowrap; }

.wpsf-otp-verify-wrap { margin-top: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.wpsf-otp-input { width: 140px !important; letter-spacing: 4px; font-size: 18px !important; text-align: center; }
.wpsf-otp-status { width: 100%; font-size: 13px; margin: 0; }

/* Checkbox / Radio */
.wpsf-checkbox-group,
.wpsf-radio-group { display: flex; flex-direction: column; gap: 6px; }

.wpsf-checkbox-label,
.wpsf-radio-label { display: flex; align-items: center; gap: 8px; font-size: 15px; cursor: pointer; }

.wpsf-checkbox,
.wpsf-radio { width: 16px; height: 16px; cursor: pointer; }

/* Errors */
.wpsf-field-error { display: block; color: #c00; font-size: 13px; margin-top: 4px; min-height: 18px; }

/* Submit */
.wpsf-submit-wrap { margin-top: 8px; }
.wpsf-submit-btn {
    display: inline-block;
    padding: 11px 28px;
    background: #2271b1;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
}
.wpsf-submit-btn:hover  { background: #135e96; }
.wpsf-submit-btn:disabled { background: #999; cursor: not-allowed; }

/* Messages */
.wpsf-form-messages {
    margin-top: 14px;
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 15px;
    display: none;
}
.wpsf-form-messages:not(:empty) { display: block; }
.wpsf-success { background: #edfaef; border: 1px solid #57a85c; color: #2a6b2e; }
.wpsf-error   { background: #fdecea; border: 1px solid #d6483e; color: #7a1c17; }

/* Multi-step navigation */
.wpsf-prev-btn,
.wpsf-next-btn {
    display: inline-block;
    padding: 9px 20px;
    background: #f0f0f0;
    color: #444;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}
.wpsf-prev-btn:hover { background: #e4e4e4; }
.wpsf-next-btn {
    background: #2271b1;
    color: #fff;
    border-color: #2271b1;
}
.wpsf-next-btn:hover { background: #135e96; }

/* HTML / text content field */
.wpsf-field-type-html { margin-bottom: 16px; }
.wpsf-html-content { font-size: 14px; line-height: 1.6; color: inherit; }
.wpsf-html-content p  { margin: 0 0 8px; }
.wpsf-html-content p:last-child { margin-bottom: 0; }
.wpsf-html-content h2,
.wpsf-html-content h3,
.wpsf-html-content h4 { margin: 0 0 6px; }
.wpsf-html-content a  { color: #2271b1; }
.wpsf-html-content ul,
.wpsf-html-content ol { margin: 0 0 8px; padding-left: 20px; }

/* Per-field helper text */
.wpsf-helper-text {
    display: block;
    font-size: 12px;
    color: #888;
    line-height: 1.5;
    margin: 4px 0;
}

/* Consent checkbox field */
.wpsf-consent-wrap { margin-bottom: 4px; }
.wpsf-consent-label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.6;
    color: inherit;
}
.wpsf-consent-checkbox {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    margin-top: 3px;
    cursor: pointer;
    flex-shrink: 0;
}
.wpsf-consent-text {
    flex: 1;
    font-size: 14px;
    line-height: 1.6;
}
.wpsf-consent-text a { color: #2271b1; text-decoration: underline; }
.wpsf-consent-text a:hover { color: #135e96; }
