/**
 * HB Leads Forms — bridge styles
 * Scoped strictly to elements the bridge script injects into the existing forms,
 * so the rest of the page styling is untouched.
 */

/* Wrapper row that the bridge injects (zip, reCAPTCHA, message). */
.hb-bridge-row {
    margin-bottom: 8px;
}

/* Status banner (success / error) shown after submit. */
.hb-form-message {
    padding: 10px 14px;
    border-radius: 4px;
    margin: 10px 0;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.4;
}
.hb-form-message.hb-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}
.hb-form-message.hb-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* Inline blur-validation error under english-only fields. */
.hb-field-error {
    color: #721c24;
    font-size: 13px;
    display: block;
    margin-top: 4px;
}

/* reCAPTCHA — keep it from overflowing narrow form columns (e.g. sidebar form). */
.hb-recaptcha-row {
    overflow: hidden;
}
.hb-recaptcha-row .g-recaptcha {
    transform-origin: 0 0;
}
@media (max-width: 360px) {
    .hb-recaptcha-row .g-recaptcha {
        transform: scale(0.85);
    }
}


/* ─────────────────────────────────────────────────────────────────────────
 * Hero form (.lead-form-col .qe-form) — equal-width field alignment
 * Overrides the mixed 83% / 85% / 89% / 92% / 95% / 100% widths that the
 * existing stylesheet applies across breakpoints, so every input, select,
 * and textarea lines up perfectly on all screen sizes.
 * ───────────────────────────────────────────────────────────────────── */
.lead-form-col .qe-form {
    max-width: 100% !important;
}
.lead-form-col .qe-form .row {
    margin-left: 0;
    margin-right: 0;
    min-width: 0;
    display: block;
}
.lead-form-col .qe-form .col-12 {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    flex: 0 0 100%;
}
.lead-form-col .qe-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
    margin: 0;
}
.lead-form-col .qe-form input[type="text"],
.lead-form-col .qe-form input[type="email"],
.lead-form-col .qe-form input[type="tel"],
.lead-form-col .qe-form input[type="number"],
.lead-form-col .qe-form input[type="date"],
.lead-form-col .qe-form select,
.lead-form-col .qe-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    margin: 5px 0 !important;
    padding: 10px 12px !important;
    display: block !important;
    font-family: inherit;
    margin-bottom:10px !important;
}
.lead-form-col .qe-form textarea {
    min-height: 60px !important;
    resize: vertical;
}
.lead-form-col .qe-form input[type="submit"] {
    width: 100% !important;
    box-sizing: border-box !important;
}

