/* CSG Formidable forms migrated from CF7 — deliberately scoped to csg-cf7-form. */
.csg-cf7-form {
    --csg-red: #dc0d15;
    --csg-dark-red: #b42025;
    --csg-black: #000;
    --csg-white: #fff;
    font-family: "Forma DJR Display", "forma-djr-display", sans-serif;
}

.csg-cf7-form .frm_fields_container {
    grid-column-gap: 20px !important;
    grid-row-gap: 20px !important;
}

.csg-cf7-form .frm_form_field,
.csg-cf7-form .frm_submit {
    margin: 0 !important;
}

.csg-cf7-form .frm_primary_label {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

.csg-cf7-dark .frm_primary_label,
.csg-cf7-dark .frm_description,
.csg-cf7-dark .frm_checkbox label,
.csg-cf7-dark .frm_radio label,
.csg-cf7-dark .csg-form-intro {
    color: #fff !important;
}

.csg-cf7-light .frm_primary_label,
.csg-cf7-light .frm_description,
.csg-cf7-light .frm_checkbox label,
.csg-cf7-light .frm_radio label {
    color: #000 !important;
}

.csg-cf7-form input[type="text"],
.csg-cf7-form input[type="email"],
.csg-cf7-form input[type="tel"],
.csg-cf7-form input[type="number"],
.csg-cf7-form select {
    width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 10px 20px !important;
    border: 1px solid #000 !important;
    border-radius: 50px !important;
    background-color: #fff !important;
    box-shadow: none !important;
    color: #000 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

.csg-cf7-form select {
    padding-right: 50px !important;
    appearance: none !important;
    background-image: url("https://csg.bubblestaging.com/wp-content/uploads/2026/06/Vector-3-1.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
}

.csg-cf7-form textarea {
    display: block !important;
    width: 100% !important;
    height: 110px !important;
    min-height: 110px !important;
    margin: 0 !important;
    padding: 10px 20px !important;
    resize: vertical;
    border: 1px solid #000 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #000 !important;
    font-family: inherit !important;
    font-size: 16px !important;
}

.csg-cf7-form input:focus,
.csg-cf7-form select:focus,
.csg-cf7-form textarea:focus {
    border-color: #000 !important;
    outline: none !important;
    box-shadow: none !important;
}

.csg-cf7-form ::placeholder {
    color: #8c8c8c !important;
    opacity: 1 !important;
}

.csg-cf7-form .frm_required,
.csg-cf7-form .frm_error {
    color: #ff4d4d !important;
}

.csg-cf7-form .frm_error {
    margin-top: 6px !important;
    font-size: 14px !important;
    text-transform: none !important;
}

.csg-cf7-form .frm_button_submit,
.csg-cf7-form .frm_next_page,
.csg-cf7-form .frm_prev_page {
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 10px 30px !important;
    border: 0 !important;
    border-radius: 100px !important;
    background: var(--csg-red) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    text-transform: capitalize !important;
}

.csg-cf7-form .frm_button_submit:hover,
.csg-cf7-form .frm_button_submit:focus,
.csg-cf7-form .frm_next_page:hover,
.csg-cf7-form .frm_next_page:focus {
    background: var(--csg-dark-red) !important;
}

.csg-cf7-form .csg-choice-pills .frm_opt_container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.csg-cf7-form .csg-choice-pills .frm_checkbox {
    display: inline-flex !important;
    margin: 0 !important;
}

.csg-cf7-form .csg-choice-pills .frm_checkbox input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.csg-cf7-form .csg-choice-pills .frm_checkbox label {
    display: flex !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 10px 30px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 100px !important;
    background: rgba(255, 255, 255, .30) !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-transform: none !important;
}

.csg-cf7-form .csg-choice-pills .frm_checkbox label:has(input:checked) {
    background: rgba(255, 255, 255, .10) !important;
}

.csg-cf7-form .csg-choice-radio .frm_opt_container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 20px !important;
}

.csg-cf7-form .csg-choice-radio .frm_radio {
    display: inline-flex !important;
    margin: 0 !important;
}

.csg-cf7-form .csg-choice-radio .frm_radio input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.csg-cf7-form .csg-choice-radio .frm_radio label {
    position: relative !important;
    display: inline-flex !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 0 0 28px !important;
    align-items: center !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-transform: none !important;
}

.csg-cf7-form .csg-choice-radio .frm_radio label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #d7d7d7;
    transform: translateY(-50%);
}

.csg-cf7-form .csg-choice-radio .frm_radio label::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 5.5px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #fff;
    transform: translateY(-50%);
}

.csg-cf7-form .csg-choice-radio .frm_radio label:has(input:checked)::before {
    background: #cf142b;
}

.csg-cf7-form .csg-field-marketing {
    display: flex !important;
    flex-direction: column !important;
}

.csg-cf7-form .csg-field-marketing .frm_primary_label { order: 1; }
.csg-cf7-form .csg-field-marketing .frm_description {
    order: 2;
    margin: 0 0 10px !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: .8px !important;
}
.csg-cf7-form .csg-field-marketing .frm_opt_container { order: 3; }

/* Standard two-column enquiry forms. */
.csg-cf7-request-free .frm_fields_container {
    grid-row-gap: 20px !important;
}

.csg-cf7-request-free .csg-submit-field .frm_submit {
    display: flex !important;
    justify-content: center !important;
}

.csg-cf7-request-free .frm_button_submit {
    height: 50px !important;
}

/* Main contact and household sewage forms. */
.csg-cf7-contact .csg-form-intro {
    margin: 0 !important;
}

.csg-cf7-contact:not(.csg-cf7-repair) .csg-submit-field .frm_button_submit {
    width: 100% !important;
    height: 54px !important;
}

.csg-cf7-household .csg-submit-field .frm_submit,
.csg-cf7-repair .csg-submit-field .frm_submit {
    display: flex !important;
    justify-content: center !important;
}

.csg-cf7-household .csg-submit-field .frm_button_submit,
.csg-cf7-repair .csg-submit-field .frm_button_submit {
    width: auto !important;
    height: 54px !important;
}

.csg-cf7-household .csg-field-services,
.csg-cf7-repair .csg-field-services {
    grid-row: span 2 !important;
}

.csg-cf7-household .csg-field-marketing,
.csg-cf7-repair .csg-field-marketing {
    grid-column: 7 / span 6 !important;
}

.csg-cf7-household .csg-submit-field,
.csg-cf7-repair .csg-submit-field {
    grid-column: 1 / -1 !important;
}

/* Subscriber template. */
.csg-cf7-subscriber .frm_fields_container {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    grid-row-gap: 10px !important;
}

.csg-cf7-subscriber .csg-field-email {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.csg-cf7-subscriber .csg-submit-field {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
}

.csg-cf7-subscriber .csg-field-agree {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
}

.csg-cf7-subscriber .csg-field-email input {
    max-width: 578px !important;
}

.csg-cf7-subscriber .frm_button_submit {
    height: 50px !important;
    font-size: 14px !important;
}

/* Footer newsletter. */
.csg-cf7-footer .frm_fields_container {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-row-gap: 10px !important;
    align-items: center !important;
}

.csg-cf7-footer .csg-field-email {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
}

.csg-cf7-footer .csg-field-email .frm_primary_label {
    margin-bottom: 10px !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    letter-spacing: .32px !important;
    text-transform: none !important;
}

.csg-cf7-footer .csg-field-email input {
    height: 60px !important;
    border-color: #c3c3c3 !important;
    border-radius: 60px !important;
}

.csg-cf7-footer .csg-field-agree {
    grid-column: 1 !important;
    grid-row: 2 !important;
}

.csg-cf7-footer .csg-submit-field {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
}

.csg-cf7-footer .frm_button_submit {
    height: 50px !important;
    padding: 10px 20px !important;
    background: #000 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
}

.csg-cf7-footer .frm_button_submit:hover {
    background: #383838 !important;
}

.csg-cf7-footer .csg-field-agree .frm_checkbox,
.csg-cf7-subscriber .csg-field-agree .frm_checkbox {
    margin: 0 !important;
}

.csg-cf7-footer .csg-field-agree input,
.csg-cf7-subscriber .csg-field-agree input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.csg-cf7-footer .csg-field-agree label,
.csg-cf7-subscriber .csg-field-agree label {
    position: relative !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 0 0 30px !important;
    align-items: center !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    letter-spacing: .32px !important;
    text-transform: none !important;
}

.csg-cf7-footer .csg-field-agree label::before,
.csg-cf7-subscriber .csg-field-agree label::before {
    content: "";
    position: absolute;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #c4c4c4;
    border-radius: 60px;
    background: #fff;
}

.csg-cf7-footer .csg-field-agree label:has(input:checked)::after,
.csg-cf7-subscriber .csg-field-agree label:has(input:checked)::after {
    content: "";
    position: absolute;
    left: 5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #000;
}

/* Sidebar audit. */
.csg-cf7-audit-sidebar .frm_fields_container {
    grid-row-gap: 20px !important;
}

.csg-cf7-audit-sidebar .frm_button_submit {
    min-width: 233px !important;
    height: 44px !important;
}

.csg-cf7-audit-sidebar .csg-field-customer .frm_opt_container {
    margin-top: 13px !important;
}

/* Emptying service form. */
.csg-cf7-service input[type="text"],
.csg-cf7-service input[type="email"],
.csg-cf7-service input[type="tel"],
.csg-cf7-service select {
    height: 58px !important;
    min-height: 58px !important;
}

.csg-cf7-service .frm_button_submit {
    width: 100% !important;
    height: 60px !important;
}

/* Upload and download forms. */
.csg-cf7-upload .frm_fields_container,
.csg-cf7-download .frm_fields_container {
    grid-row-gap: 20px !important;
}

.csg-cf7-upload .frm_button_submit,
.csg-cf7-download .frm_button_submit {
    width: auto !important;
}

.csg-cf7-upload .frm_dropzone {
    margin: 0 !important;
    border-radius: 20px !important;
}

/* Multistep expert, emergency and credit forms. */
.csg-cf7-multistep .csg-step-content {
    margin: 0 0 20px !important;
}

.csg-cf7-multistep .csg-progress {
    display: flex !important;
    width: 100% !important;
    max-width: 800px !important;
    height: 10px !important;
    margin: 0 0 20px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #d9d9d9 !important;
}

.csg-cf7-multistep .csg-progress-step {
    display: block !important;
    flex: 1 !important;
    height: 100% !important;
    background: transparent !important;
}

.csg-cf7-multistep .csg-progress-step.is-active {
    background: #dc0d15 !important;
}

.csg-cf7-multistep .csg-step-label {
    margin: 0 0 8px !important;
    color: #727272 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-transform: uppercase !important;
}

.csg-cf7-multistep .csg-step-heading {
    margin: 0 !important;
    color: #000 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    text-transform: capitalize !important;
}

.csg-cf7-multistep input[type="text"],
.csg-cf7-multistep input[type="email"],
.csg-cf7-multistep input[type="tel"] {
    height: 58px !important;
    min-height: 58px !important;
}

.csg-cf7-multistep textarea {
    height: 179px !important;
    min-height: 179px !important;
    padding: 15px !important;
    border: 0 !important;
    background: #f3f3f3 !important;
}

.csg-cf7-multistep .frm_page_num_1 .frm_submit,
.csg-cf7-multistep .frm_page_num_2 .frm_submit,
.csg-cf7-multistep .frm_page_num_3 .frm_submit,
.csg-cf7-multistep .frm_page_num_4 .frm_submit,
.csg-cf7-multistep .frm_submit {
    display: flex !important;
    margin-top: 20px !important;
    flex-direction: column-reverse !important;
    align-items: center !important;
    gap: 20px !important;
}

.csg-cf7-multistep .frm_prev_page {
    height: auto !important;
    padding: 0 0 0 38px !important;
    background: transparent url("https://csg.bubblestaging.com/wp-content/uploads/2026/06/arrow1.svg") no-repeat left center !important;
    color: #727272 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

.csg-cf7-multistep .frm_prev_page:hover {
    background-color: transparent !important;
}

.csg-cf7-expert .csg-progress {
    max-width: 100% !important;
}

.csg-cf7-expert .csg-expert-solutions .frm_checkbox {
    display: block !important;
    width: 100% !important;
}

.csg-cf7-expert .csg-expert-solutions .frm_opt_container {
    flex-direction: column !important;
}

.csg-cf7-credit .csg-credit-section-heading {
    margin-top: 20px !important;
}

.csg-cf7-credit .csg-credit-company-type .frm_opt_container {
    gap: 8px 14px !important;
}

@media (max-width: 768px) {
    .csg-cf7-form .frm_fields_container {
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    }

    .csg-cf7-form .frm_form_field:not(.frm_verify),
    .csg-cf7-form .csg-submit-field,
    .csg-cf7-household .csg-field-marketing,
    .csg-cf7-repair .csg-field-marketing {
        grid-column: 1 / -1 !important;
    }

    .csg-cf7-household .csg-field-services,
    .csg-cf7-repair .csg-field-services {
        grid-row: auto !important;
    }

    .csg-cf7-subscriber .csg-field-email,
    .csg-cf7-subscriber .csg-submit-field,
    .csg-cf7-subscriber .csg-field-agree,
    .csg-cf7-footer .csg-field-email,
    .csg-cf7-footer .csg-field-agree,
    .csg-cf7-footer .csg-submit-field {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    .csg-cf7-subscriber .frm_button_submit,
    .csg-cf7-footer .frm_button_submit,
    .csg-cf7-audit-sidebar .frm_button_submit {
        width: 100% !important;
    }

    .csg-cf7-footer .frm_fields_container {
        grid-row-gap: 15px !important;
    }

    .csg-cf7-form .csg-choice-pills .frm_checkbox,
    .csg-cf7-form .csg-choice-pills .frm_checkbox label {
        width: 100% !important;
    }
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-chat.frm-show-form .frm_form_field {
    margin-bottom: 4.4px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-chat.frm-show-form .frm_button_submit {
    width: 200px !important;
    font-weight: 500 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-emergency.frm-show-form .csg-step-label,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-credit.frm-show-form .csg-step-label {
    text-align: center !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-emergency.frm-show-form .frm_prev_page,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-credit.frm-show-form .frm_prev_page {
    background: transparent url("https://csg.bubblestaging.com/wp-content/uploads/2026/06/Group-2.svg") no-repeat left center !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-expert.frm-show-form .frm_prev_page {
    background: transparent url("https://csg.bubblestaging.com/wp-content/uploads/2026/06/backbtn.svg") no-repeat left center !important;
}

/*
 * Formidable's generated front-end stylesheet uses deliberately high-specificity
 * !important rules. Keep the migration bridge one step more specific so the
 * captured CF7 presentation wins without altering Formidable's global style.
 */
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form .frm_primary_label {
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-family: "Forma DJR Display", "forma-djr-display", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

.elementor-widget-shortcode:has(form.csg-cf7-form:not(.csg-cf7-subscriber):not(.csg-cf7-footer)),
.elementor-widget-shortcode:has(form.csg-cf7-form:not(.csg-cf7-subscriber):not(.csg-cf7-footer)) .elementor-shortcode,
.elementor-widget-shortcode:has(form.csg-cf7-form:not(.csg-cf7-subscriber):not(.csg-cf7-footer)) .frm_forms,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form {
    width: 100% !important;
    max-width: 100% !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form .frm_form_field,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form .frm_submit {
    margin: 0 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-contact.frm-show-form .frm_form_field {
    margin-bottom: 9.75px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-request-free.frm-show-form .frm_form_field {
    margin-bottom: 16.75px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-request-free.frm-show-form .frm_button_submit {
    font-weight: 500 !important;
    padding-right: 23px !important;
    padding-left: 23px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-chat.frm-show-form .frm_form_field {
    margin-bottom: 11px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-chat.frm-show-form .csg-chat-customer .frm_opt_container {
    flex-direction: column !important;
    gap: 10px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-chat.frm-show-form .csg-chat-customer .frm_radio label {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-chat.frm-show-form .frm_button_submit {
    width: 200px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    font-weight: 500 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-household.frm-show-form .frm_form_field {
    margin-bottom: 18.67px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-audit-sidebar.frm-show-form .frm_form_field {
    margin-bottom: 15.4px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-service.frm-show-form .frm_form_field {
    margin-bottom: 7.5px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-upload.frm-show-form .frm_form_field {
    margin-bottom: 20px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-upload.frm-show-form .frm_dropzone,
.frm_forms.frm_style_formidable-style form.csg-cf7-upload.frm-show-form .dz-message {
    min-height: 200px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-upload.frm-show-form .frm_button_submit {
    width: 131px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-field-email,
.frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-field-agree,
.frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-submit-field {
    margin-bottom: 20px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .frm_fields_container {
    padding-bottom: 10px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .frm_button_submit {
    width: 141px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-email,
.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-agree,
.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-submit-field {
    margin-bottom: 20px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .frm_fields_container {
    padding-bottom: 13px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-dark .frm_primary_label,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-dark .frm_description,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-dark .frm_checkbox label,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-dark .frm_radio label {
    color: #fff !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-light .frm_primary_label,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-light .frm_description,
.frm_forms.frm_style-formidable-style form.csg-cf7-form.csg-cf7-light .frm_checkbox label,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-light .frm_radio label {
    color: #000 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form input[type="text"],
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form input[type="email"],
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form input[type="tel"],
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form input[type="number"],
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form select:not([multiple]) {
    width: 100% !important;
    max-width: none !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 10px 20px !important;
    border: 1px solid #000 !important;
    border-radius: 50px !important;
    background-color: #fff !important;
    box-shadow: none !important;
    color: #475569 !important;
    font-family: "Forma DJR Display", "forma-djr-display", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form textarea {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 110px !important;
    min-height: 110px !important;
    margin: 0 !important;
    padding: 10px 20px !important;
    border: 1px solid #000 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #475569 !important;
    font-family: "Forma DJR Display", "forma-djr-display", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form .frm_button_submit,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form .frm_next_page,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form .frm_prev_page {
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 10px 30px !important;
    border: 0 !important;
    border-radius: 100px !important;
    background: #dc0d15 !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: "Forma DJR Display", "forma-djr-display", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    text-transform: capitalize !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form .frm_button_submit:hover,
.frm_forms.frm_style_formidable-style form.csg-cf7-form.frm-show-form .frm_next_page:hover {
    background: #b42025 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-contact:not(.csg-cf7-repair).frm-show-form .frm_button_submit {
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-household.frm-show-form .csg-submit-field .frm_submit,
.frm_forms.frm_style_formidable-style form.csg-cf7-repair.frm-show-form .csg-submit-field .frm_submit {
    display: flex !important;
    justify-content: center !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-household.frm-show-form .csg-submit-field .frm_button_submit,
.frm_forms.frm_style_formidable-style form.csg-cf7-repair.frm-show-form .csg-submit-field .frm_button_submit {
    width: auto !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-service.frm-show-form input[type="text"],
.frm_forms.frm_style_formidable-style form.csg-cf7-service.frm-show-form input[type="email"],
.frm_forms.frm_style_formidable-style form.csg-cf7-service.frm-show-form input[type="tel"],
.frm_forms.frm_style_formidable-style form.csg-cf7-service.frm-show-form select:not([multiple]),
.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form input[type="text"],
.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form input[type="email"],
.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form input[type="tel"] {
    height: 58px !important;
    min-height: 58px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-service.frm-show-form .frm_button_submit {
    width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form textarea {
    height: 179px !important;
    min-height: 179px !important;
    padding: 15px !important;
    border: 0 !important;
    background: #f3f3f3 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form .csg-step-content {
    margin-bottom: 20px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form .csg-progress {
    margin: 20px auto !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form .csg-step-label {
    margin-bottom: 80px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form .frm_submit {
    margin-top: 40px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form {
    padding-bottom: 2px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-credit.frm-show-form .frm_form_field:not(.csg-step-content):not(.csg-page-break):not(.csg-submit-field) {
    margin-bottom: 7.75px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-multistep.frm-show-form .frm_prev_page {
    height: auto !important;
    min-height: 30px !important;
    padding: 0 0 0 38px !important;
    background: transparent url("https://csg.bubblestaging.com/wp-content/uploads/2026/06/arrow1.svg") no-repeat left center !important;
    color: #727272 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

/* Restored Credit Application (Formidable ID 8).
 * Its original inputs and conditional logic are retained; these rules align
 * the six real pages and progress treatment with the expert form. */
.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-credit.frm-show-form .csg-progress {
    max-width: 100% !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-credit.frm-show-form .csg-step-label {
    margin-bottom: 0 !important;
    text-align: left !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-credit.frm-show-form .frm_section_heading {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-form.csg-cf7-credit.frm-show-form .frm_section_heading > h3 {
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #000 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    text-transform: capitalize !important;
}

/* Credit Application field rhythm and radio treatment.
 * Mirrors the expert form's 20px field gap and the compact red/grey controls
 * used by the septic repair quote form. */
#frm_form_8_container form.csg-cf7-credit .frm_section_heading {
    column-gap: 20px !important;
    row-gap: 20px !important;
}

#frm_form_8_container form.csg-cf7-credit .frm_section_heading > .frm_form_field {
    margin: 0 !important;
}

#frm_form_8_container form.csg-cf7-credit .frm_opt_container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 24px !important;
}

#frm_form_8_container form.csg-cf7-credit .frm_radio {
    margin: 0 !important;
}

#frm_form_8_container form.csg-cf7-credit .frm_radio label {
    position: relative !important;
    display: inline-flex !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 0 0 28px !important;
    align-items: center !important;
    color: #000 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    letter-spacing: .32px !important;
    text-transform: none !important;
    cursor: pointer !important;
}

#frm_form_8_container form.csg-cf7-credit .frm_radio input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    opacity: 0 !important;
}

#frm_form_8_container form.csg-cf7-credit .frm_radio label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #d7d7d7;
    transform: translateY(-50%);
}

#frm_form_8_container form.csg-cf7-credit .frm_radio label::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 5.5px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #fff;
    transform: translateY(-50%);
}

#frm_form_8_container form.csg-cf7-credit .frm_radio label:has(input[type="radio"]:checked)::before {
    background: #cf142b;
}

#frm_form_8_container form.csg-cf7-credit .frm_radio label:has(input[type="radio"]:focus-visible)::before {
    outline: 2px solid #cf142b;
    outline-offset: 3px;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-email .frm_primary_label {
    margin-bottom: 10px !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    letter-spacing: .32px !important;
    text-transform: none !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-email {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-agree {
    grid-column: 1 !important;
    grid-row: 2 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-submit-field {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-email input[type="email"] {
    height: 60px !important;
    min-height: 60px !important;
    border-color: #c3c3c3 !important;
    border-radius: 60px !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .frm_button_submit {
    width: 129px !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 10px 20px !important;
    background: #000 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .frm_button_submit:hover {
    background: #383838 !important;
}

/* Keep the footer form on the two-row layout used by the original design.
 * The verification honeypot is taken out of grid flow so it cannot generate
 * implicit columns alongside the three visible fields. */
#form_csg_cf7_6028 > .frm_fields_container {
    grid-template-columns: minmax(0, 1fr) 129px !important;
    column-gap: 20px !important;
    row-gap: 10px !important;
    align-items: center !important;
}

#form_csg_cf7_6028 #frm_field_846_container {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: auto !important;
}

#form_csg_cf7_6028 #frm_field_847_container {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: auto !important;
    align-self: center !important;
}

#form_csg_cf7_6028 #frm_field_848_container {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 129px !important;
    align-self: center !important;
}

#form_csg_cf7_6028 #frm_field_1084_container {
    position: absolute !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-audit-sidebar.frm-show-form .frm_button_submit {
    width: 233px !important;
    min-width: 233px !important;
    height: 44px !important;
    min-height: 44px !important;
}

/* Form 15 replaces the original single-column waste-audit form in two
 * Elementor sections. Its native section field uses two columns, so flatten
 * the visible fields back to the full-width layout used by the outgoing form. */
.frm_forms.frm_style_formidable-style form.csg-form-15-waste-audit.frm-show-form #frm_field_442_container > .frm_section_spacing {
    display: none !important;
}

.frm_forms.frm_style_formidable-style form.csg-form-15-waste-audit.frm-show-form #frm_field_442_container > .frm_form_field {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
}

.frm_forms.frm_style_formidable-style form.csg-form-15-waste-audit.frm-show-form #frm_field_442_container,
.frm_forms.frm_style_formidable-style form.csg-form-15-waste-audit.frm-show-form #frm_field_460_container {
    margin-bottom: 15.4px !important;
}

.frm_forms.frm_style_formidable-style form.csg-form-15-waste-audit.frm-show-form #frm_field_449_container {
    margin-bottom: 0 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-field-email {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-submit-field {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
}

.frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-field-agree {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
}

/* Keep the reusable subscriber form on the Figma two-column layout.
 * Formidable's generated frm6/frm12 rules include field IDs, so these
 * form-specific selectors prevent those layout classes reversing the fields. */
#form_csg_cf7_656 > .frm_fields_container {
    grid-template-columns: minmax(0, 1fr) 141px !important;
    column-gap: 20px !important;
    row-gap: 10px !important;
    align-items: end !important;
    padding-bottom: 0 !important;
}

#form_csg_cf7_656 #frm_field_849_container {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    max-width: none !important;
    margin-bottom: 0 !important;
}

#form_csg_cf7_656 #frm_field_850_container {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 141px !important;
    margin-bottom: 0 !important;
    align-self: end !important;
}

#form_csg_cf7_656 #frm_field_851_container {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: auto !important;
    margin-bottom: 0 !important;
    align-self: start !important;
}

#form_csg_cf7_656 #frm_field_1145_container {
    position: absolute !important;
}

@media (max-width: 768px) {
    .frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .frm_button_submit,
    .frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .frm_button_submit,
    .frm_forms.frm_style_formidable-style form.csg-cf7-audit-sidebar.frm-show-form .frm_button_submit {
        width: 100% !important;
    }

    .frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-field-email,
    .frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-submit-field,
    .frm_forms.frm_style_formidable-style form.csg-cf7-subscriber.frm-show-form .csg-field-agree,
    .frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-email,
    .frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-submit-field,
    .frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-agree {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    .frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-email {
        grid-row: 1 !important;
    }

    .frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-field-agree {
        grid-row: 2 !important;
    }

    .frm_forms.frm_style_formidable-style form.csg-cf7-footer.frm-show-form .csg-submit-field {
        grid-row: 3 !important;
    }

    #form_csg_cf7_6028 > .frm_fields_container {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 15px !important;
    }

    #form_csg_cf7_6028 #frm_field_846_container,
    #form_csg_cf7_6028 #frm_field_847_container,
    #form_csg_cf7_6028 #frm_field_848_container {
        grid-column: 1 / -1 !important;
        width: auto !important;
    }

    #form_csg_cf7_6028 #frm_field_846_container {
        grid-row: 1 !important;
    }

    #form_csg_cf7_6028 #frm_field_847_container {
        grid-row: 2 !important;
    }

    #form_csg_cf7_6028 #frm_field_848_container {
        grid-row: 3 !important;
    }

    #form_csg_cf7_656 > .frm_fields_container {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 15px !important;
    }

    #form_csg_cf7_656 #frm_field_849_container,
    #form_csg_cf7_656 #frm_field_850_container,
    #form_csg_cf7_656 #frm_field_851_container {
        grid-column: 1 / -1 !important;
        width: auto !important;
    }

    #form_csg_cf7_656 #frm_field_849_container {
        grid-row: 1 !important;
    }

    #form_csg_cf7_656 #frm_field_850_container {
        grid-row: 2 !important;
    }

    #form_csg_cf7_656 #frm_field_851_container {
        grid-row: 3 !important;
    }
}

/* All live Formidable submit buttons size to their label. This final rule
 * intentionally overrides legacy per-form fixed and full-width values. */
html body:not(#csg-formidable-auto-button-scope) .frm_forms form.frm-show-form .frm_button_submit {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}
