/* ========================================
   Bill Estimate Generator
======================================== */

#edit-bill-estimate-generator {
    margin: 0;
    padding: 0 !important;
    border: none !important;
}

/* Main fieldset heading */
#edit-bill-estimate-generator > legend {
    background-color: #007a47;
    color: #fff;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
}

/* Main calculator wrapper */
#edit-bill-estimate-generator > .fieldset-wrapper {
    padding: 20px;
    border-right: 1px solid #acacac;
    border-left: 1px solid #acacac;
    border-bottom: 1px solid #acacac;
    margin-top: -10px;
}

/* Text */
#edit-bill-estimate-generator label,
#edit-bill-estimate-generator p {
    font-size: 16px !important;
}

/* Inputs */
#edit-bill-estimate-generator input[type="number"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #aaa;
    border-radius: 3px;
    box-sizing: border-box;
}

/* Read-only rate fields */
#edit-bill-estimate-generator input[readonly] {
    background-color: #f5f5f5;
    cursor: default;
}

/* ========================================
   Calculation Table
======================================== */

#edit-bill-estimate-generator table {
    width: 100%;
    margin: 25px 0 10px !important;
    border-collapse: collapse;
    border: 1px solid #c8c8c8;
}

/* Table cells */
#edit-bill-estimate-generator table th {
    padding: 12px !important;
    border: 1px solid #d5d5d5 !important;
    background-color: #fff !important;
    font-size: 16px;
    font-weight: 400;
    text-align: left;
}

/* Value column */
#edit-bill-estimate-generator table th:nth-child(2) {
    text-align: right;
    font-weight: 600;
}


/* Total row */
#edit-bill-estimate-generator table th.total {
    background-color: #007a47 !important;
    color: #fff;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    padding: 12px !important;
    border-color: #007a47 !important;
}

/* Keep bottom corners square */
#edit-bill-estimate-generator table tr:last-child th:first-child {
    border-bottom-left-radius: 0 !important;
}

#edit-bill-estimate-generator table tr:last-child th:last-child {
    border-bottom-right-radius: 0 !important;
}


/* ========================================
   Mobile
======================================== */

@media (max-width: 767px) {

    #edit-bill-estimate-generator > .fieldset-wrapper {
        padding: 15px;
    }

    #edit-bill-estimate-generator table th {
        padding: 10px !important;
        font-size: 15px;
    }

    #edit-bill-estimate-generator table th.total {
        font-size: 1.1rem !important;
    }
}