/* Scoped to the standalone landing page; no viewport-width overflow hacks. */
body.abl-landing-page { margin: 0; padding: 0; }
body.abl-landing-page #abl-page-content {
    display: block; width: 100%; max-width: none; margin: 0; padding: 0;
}
body.abl-landing-page #abl-page-content > .abl {
    width: 100%; max-width: none; margin: 0; padding: 0;
}
/* Override duplicated inline design CSS on small screens. */
body.abl-landing-page .abl-grid-2 { grid-template-columns: repeat(auto-fit,minmax(min(100%,340px),1fr)); }
body.abl-landing-page .abl-grid-3 { grid-template-columns: repeat(auto-fit,minmax(min(100%,290px),1fr)); }
body.abl-landing-page .abl-grid-4 { grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr)); }
@media (min-width: 900px) {
    body.abl-landing-page .abl-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
body.abl-landing-page .abl-skip-link {
    position: absolute; left: 24px; top: -100px; z-index: 100000;
    background: #fff; color: #16293D; padding: 12px 20px;
}
body.abl-landing-page .abl-skip-link:focus { top: 12px; }

/* Quote form 2: compact layout, isolated from other Gravity Forms. */
#quote .abl-formbox #gform_wrapper_2 {
    container-type: inline-size;
    container-name: abl-quote;
    margin: 0;
    --gf-form-gap-y: 18px;
    --gf-field-gap-y: 18px;
}
/* The card already supplies a visible heading and description. */
#quote .abl-formbox #gform_wrapper_2 .gform_heading { display: none; }
#quote .abl-formbox #gform_2 { margin: 0; }
#quote .abl-formbox #gform_fields_2 {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px 16px;
    padding: 0;
    margin: 0;
}
#quote .abl-formbox #gform_fields_2 > .gfield {
    grid-column: 1 / -1;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
}
#quote .abl-formbox #gform_wrapper_2 .gfield_label {
    color: var(--abl-navy);
    margin: 0 0 6px;
    font-size: 14px;
    line-height: 1.4;
}
#quote .abl-formbox #gform_wrapper_2 .ginput_container { margin-top: 0; }
#quote .abl-formbox #gform_wrapper_2 .ginput_container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
#quote .abl-formbox #gform_wrapper_2 .ginput_container select,
#quote .abl-formbox #gform_wrapper_2 .ginput_container textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
#quote .abl-formbox #gform_wrapper_2 textarea {
    height: 120px;
    min-height: 120px;
    resize: vertical;
}
#quote .abl-formbox #gform_wrapper_2 .gform_footer {
    margin: 20px 0 0;
    padding: 0;
}
#quote .abl-formbox #gform_submit_button_2 {
    max-width: 100%;
    white-space: normal;
}
/* Use the card's available width, not the viewport, to avoid cramped columns. */
@container abl-quote (min-width: 420px) {
    #quote .abl-formbox #gform_fields_2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #quote .abl-formbox #gform_fields_2 > :is(#field_2_1, #field_2_2, #field_2_3, #field_2_4, #field_2_5, #field_2_6, #field_2_7, #field_2_8, #field_2_9, #field_2_12) {
        grid-column: span 1;
        align-self: start;
    }
}

/* Validation summary headings must not inherit the CTA's 24ch heading cap. */
#quote .abl-formbox #gform_wrapper_2 .gform_validation_errors {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}
#quote .abl-formbox #gform_wrapper_2 .gform_validation_errors .gform_submission_error,
#quote .abl-formbox #gform_wrapper_2 .gform_validation_errors > h2 {
    width: auto;
    max-width: none;
    min-width: 0;
    flex: 1 1 auto;
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: normal;
    white-space: normal;
}
