/* =========================================
   Top Policy Information Section
========================================= */

#field_2_1,
#field_2_56,
#field_2_57 {
    display: flex;
    align-items: center;
    gap: 12px;
}

#field_2_1 .gfield_label,
#field_2_56 .gfield_label,
#field_2_57 .gfield_label {
    width: 140px;
    min-width: 140px;
    text-align: right;
    margin-bottom: 0;
}

#field_2_1 .ginput_container,
#field_2_56 .ginput_container,
#field_2_57 .ginput_container {
    flex: 1;
}

#field_2_1 input,
#field_2_56 input,
#field_2_57 input {
    width: 100%;
    box-sizing: border-box;
}

/* disable this calculated field to prevent it getting changed*/

#input_2_75 {
    /* Existing rules */
    pointer-events: none;
    background: transparent;
    border: none;
    box-shadow: none;
    color: #333;
    padding: 0;
    
    /* Override Gravity Forms CSS Variables */
    --gf-ctrl-number-spin-btn-width: 0px !important;
    --gf-ctrl-number-spin-btn-opacity: 0 !important;
    --gf-ctrl-number-spin-btn-appearance: none !important;
}


/* =========================================
   Calculation Section - Desktop
========================================= */

@media (min-width: 641px) {

    .calc-left,
    .calc-right {
        font-size: 14px !important;
        min-width: 0;
    }

    .calc-left {
        grid-column: 1 / span 6;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .calc-right {
        grid-column: 7 / span 6;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
    }

    .calc-left p {
        margin: 0;
    }

    #field_2_87,
    #field_2_89 {
        gap: 12px;
    }

    #field_2_87 input,
    #field_2_89 input {
        width: 116px;
        max-width: 116px;
        box-sizing: border-box;
    }

    .calc-right .ginput_container {
        display: flex;
        justify-content: flex-end;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .calc-right input {
        width: 128px;
        max-width: 128px;
        box-sizing: border-box;
        margin-left: auto;
    }

    #field_2_88 .ginput_container,
    #field_2_61 .ginput_container,
    #field_2_64 .ginput_container {
        order: 1;
    }

    #field_2_88 .gfield_description,
    #field_2_61 .gfield_description,
    #field_2_64 .gfield_description {
        order: 2;
        display: inline-flex;
        align-items: center;
        flex: 0 0 24px;
        width: 24px;
        min-width: 24px;
        margin: 0;
        padding: 0;
        line-height: 1;
    }

    #field_2_63::after,
    #field_2_69::after,
    #field_2_71::after,
    #field_2_73::after,
    #field_2_75::after,
    #field_2_76::after,
    #field_2_79::after,
    #field_2_81::after {
        content: "";
        display: inline-flex;
        flex: 0 0 24px;
        width: 24px;
        min-width: 24px;
    }

    .calc-left strong,
    .calc-left b {
        font-weight: 700;
        -webkit-text-stroke: 0.25px currentColor;
    }
}


/* =========================================
   Mobile
========================================= */

@media (max-width: 640px) {

    #field_2_1,
    #field_2_56,
    #field_2_57 {
        display: block;
    }

    #field_2_1 .gfield_label,
    #field_2_56 .gfield_label,
    #field_2_57 .gfield_label {
        width: auto;
        min-width: 0;
        text-align: left;
        margin-bottom: 6px;
    }

    .calc-left,
    .calc-right {
        display: block;
        font-size: 14px !important;
    }

    .calc-left p {
        margin: 0;
    }

    .calc-right input,
    #field_2_87 input,
    #field_2_89 input {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .calc-right .gfield_description {
        display: inline-block;
        margin-left: 6px;
        padding: 0;
    }
}

@media (min-width: 641px) {
    #field_2_88,
    #field_2_61,
    #field_2_64 {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
    }

    #field_2_88 .ginput_container,
    #field_2_61 .ginput_container,
    #field_2_64 .ginput_container {
        order: 1 !important;
    }

    #field_2_88 .gfield_description,
    #field_2_61 .gfield_description,
    #field_2_64 .gfield_description {
        order: 2 !important;
        flex: 0 0 24px;
        width: 24px;
        min-width: 24px;
        display: inline-flex;
        align-items: center;
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 641px) {

    #field_2_63,
    #field_2_69,
    #field_2_71,
    #field_2_73,
    #field_2_75,
    #field_2_76,
    #field_2_79,
    #field_2_81 {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
    }

    #field_2_63::after,
    #field_2_69::after,
    #field_2_71::after,
    #field_2_73::after,
    #field_2_75::after,
    #field_2_76::after,
    #field_2_79::after,
    #field_2_81::after {
        content: "";
        display: inline-flex;
        align-items: center;
        flex: 0 0 24px;
        width: 24px;
        min-width: 24px;
        order: 2;
    }

    #field_2_63 .ginput_container,
    #field_2_69 .ginput_container,
    #field_2_71 .ginput_container,
    #field_2_73 .ginput_container,
    #field_2_75 .ginput_container,
    #field_2_76 .ginput_container,
    #field_2_79 .ginput_container,
    #field_2_81 .ginput_container {
        order: 1;
    }
}
@media (min-width: 641px) {

    /* Row 1 and row 3 */
    #field_2_87 .gfield_label {
        flex: 0 0 260px;
        width: 260px;
        min-width: 260px;
        text-align: right;
        margin: 0;
    }
 
    #field_2_89 .gfield_label {
        flex: 0 0 350px;
        width: 260px;
        min-width: 260px;
        text-align: right;
        margin: 0;
        position: relative;
        left: 10px;
    }

    #field_2_87,
    #field_2_89 {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
    }

    /* Final row needs its own spacing */
    #field_2_83 {
        grid-column: 1 / span 6;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
    }

    #field_2_83 .gfield_label {
        flex: 0 0 280px;
        width: 240px;
        min-width: 240px;
        text-align: right;
        margin: 0;
    }

    #field_2_83 input {
        width: 156px;
        max-width: 156px;
        box-sizing: border-box;
    }
}

@media (min-width: 641px) {

    .calc-left-spacer {
        grid-column: 1 / span 6;
    } 

        .calc-left-spacer2 {
        grid-column: 1 / span 2 !important;
    }
    #field_2_83 {
        grid-column: 7 / span 6;

        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
    }

    #field_2_83 .gfield_label {
        width: auto;
        min-width: 0;
        text-align: right;
    }
    #field_2_85 {
    margin-left:15px;
    }
    #field_2_89 {
    position: relative;
    left:25px;
    }
}



@media (min-width: 641px) {

    #field_2_34 {
        margin-left:160px;
    }
    #field_2_34,
    #field_2_35 {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    #field_2_34 .gfield_label { 
        width: 120px;
        min-width: 120px;
        text-align: right;
        margin: 0;
    }


    #field_2_35 .gfield_label { 
        width: 130px;
        min-width: 130px;
        text-align: right;
        margin: 0;
    }

    #field_2_34 .ginput_container,
    #field_2_35 .ginput_container {
        flex: 1;
    }

    /* Optional: make date field smaller like PDF */
    #field_2_35 input {
        max-width: 180px;
    }

    @media (min-width: 641px) {
    #field_2_62 {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
    }

    #field_2_62 .gfield_label {
        flex: 0 0 auto;
        width: auto;
        min-width: 0;
        text-align: right;
        margin: 0;
    }

    #field_2_62 .ginput_container {
        flex: 0 0 auto;
        width: auto;
    }

    #field_2_62 input {
        width: 128px;
        max-width: 128px;
        box-sizing: border-box;
    }
}
}

@media (min-width: 768px) and (max-width: 1100px) {

    #field_2_83 {
        transform: translateX(-120px);
    }

}