/* -----------------------------------------------------------
   Payment Amount + Add Fee Row
----------------------------------------------------------- */
.fee-amount-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.fee-dollar-sign {
    font-weight: bold;
}

.payment-amount-input {
    width: 150px;
    padding: 4px 6px;
    margin: 5px;
}

/* Add Fee button */
.add-fee-btn {
    padding: 4px 10px;
}

/* -----------------------------------------------------------
   Totals Section
----------------------------------------------------------- */
.totals-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.totals-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}

.totals-row--button {
    text-align: right;
}

.payment-amount-label {
    text-align: right;
    width: 100%;
    font-size: 1.2rem;
    font-weight: 600;
}

/* -----------------------------------------------------------
   Fee Table
----------------------------------------------------------- */
#feeTable {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    font-size: 14px;

    opacity: 0;
    transition: opacity 0.3s ease-in-out;

}


#feeTable.visible {
    opacity: 1;
}


#feeTable thead th {
    background-color: #f2f2f2;
    font-weight: bold;
    padding: 10px;
    border: 1px solid #ccc;
    text-align: left;
    white-space: nowrap;
}

#feeTable td {
    padding: 8px 10px;
    border: 1px solid #ccc;
}

#feeTable tbody tr:nth-child(even) {
    background-color: #fafafa;
}

#feeTable tbody tr:hover {
    background-color: #f0f8ff;
}

#feeTable td,
#feeTable th {
    word-break: break-word;
}

/* -----------------------------------------------------------
   Form Inputs + Misc
----------------------------------------------------------- */
input[type="text"] {
    padding: 4px;
    width: 400px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.no-input {
    padding-bottom: 20px;
}

.horizontal-line {
    border-bottom: 2px solid #0000003d;
    width: 100%;
    margin: 10px 0;
}

/* -----------------------------------------------------------
   Table1 + Table2
----------------------------------------------------------- */
.table1 {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.table1 th,
.table1 td {
    text-align: left;
}

.table2 {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.table2 th {
    width: 50%;
    padding: 8px;
    text-align: center;
    font-weight: bold;
}

.table2 td {
    width: 50%;
    padding: 8px;
    text-align: left;
}

/* -----------------------------------------------------------
   Add Fee Button
----------------------------------------------------------- */

#addFeeBtn:disabled {
    background-color: #e0e0e0; /* light gray */
    color: #777;              /* softer text */
    border: 1px solid #c8c8c8;   /* soft border */
    cursor: not-allowed;
    opacity: 0.8
}

/* -----------------------------------------------------------
   Add Fees to Cart Button
----------------------------------------------------------- */

#addFeesToCartBtn:disabled {
    background-color: #d7f1fa ;
    color: #ffffff;
    //border: 1px solid #c8c8c8;
    cursor: not-allowed;
    opacity: 0.8
}

/* -----------------------------------------------------------
   Utility
----------------------------------------------------------- */
.hidden {
    display: none;
}

.input-error {
    border: 2px solid red !important;
}
.error-message {
    color: red;
    font-size: 0.9rem;
    margin-top: 4px;
}

#noFeesMessage {
    margin-top:15px;
    color:#666;
    font-style:italic;
}