/* Styles for Optimal Car Sale Point Calculator */
.calcufacil-optimal_car_sale_point_calculator.calcufacil-container.enhanced-carsale-calc {
    max-width: 1050px;
    margin: 25px auto;
    background: #fdfcfb; /* Very light warm grey */
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* Handle wrap with media query */
    gap: 25px;
    font-family: 'Verdana', Geneva, Tahoma, sans-serif;
    box-sizing: border-box;
}

/* Left Column: Form */
.calcufacil-optimal_car_sale_point_calculator .calcufacil-left.calculator-form {
    flex: 1 1 40%;
    min-width: 320px;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    box-sizing: border-box;
}

/* Right Column: Results */
.calcufacil-optimal_car_sale_point_calculator .calcufacil-right.results.enhanced-carsale-results {
    flex: 1 1 58%;
    min-width: 340px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.calcufacil-optimal_car_sale_point_calculator .calculator-form h2 {
    font-size: 22px; color: #5d4037; /* Brown */ margin-top:0; margin-bottom: 10px; font-weight: 600;
}
.calcufacil-optimal_car_sale_point_calculator .calculator-form .description {
    font-size: 14px; color: #795548; /* Lighter Brown */ margin-bottom: 25px; line-height: 1.6;
}
.calcufacil-optimal_car_sale_point_calculator .calculator-form h3 {
    font-size: 17px; color: #4e342e; /* Dark Brown */ margin-top: 20px; margin-bottom: 15px;
    padding-bottom: 8px; border-bottom: 1px solid #d7ccc8; /* Brownish border */ display: flex; align-items: center; gap: 8px;
}
.calcufacil-optimal_car_sale_point_calculator .calculator-form h3:first-of-type { margin-top: 0; }
.calcufacil-optimal_car_sale_point_calculator .calculator-form h3 i { color: #8d6e63; /* Light Brown */ font-size: 1.1em; }

.calcufacil-optimal_car_sale_point_calculator .input-group { margin-bottom: 18px; display: flex; flex-direction: column; }
.calcufacil-optimal_car_sale_point_calculator .input-group label {
    font-weight: 600; color: #4e342e; margin-bottom: 6px; font-size: 13px;
}
.calcufacil-optimal_car_sale_point_calculator .input-group input[type="text"],
.calcufacil-optimal_car_sale_point_calculator .input-group input[type="number"] {
    width: 100%; padding: 10px; border: 1px solid #bcaaa4; /* Brownish border */ border-radius: 4px;
    font-size: 14px; background: #fefefe; box-sizing: border-box;
}
.calcufacil-optimal_car_sale_point_calculator .input-group-slider input[type="range"] {
    width: 100%; margin-top: 8px; accent-color: #795548; /* Brown slider */
}
.calcufacil-optimal_car_sale_point_calculator .input-group small {
    font-size: 11px; color: #8d6e63; margin-top: 4px; display: block;
}

.calcufacil-optimal_car_sale_point_calculator button[type="submit"] {
    background: #795548; /* Brown */ color: #fff; padding: 12px 25px; border: none; border-radius: 5px;
    cursor: pointer; font-size: 16px; width: 100%; margin-top: 15px; font-weight: bold;
    transition: background 0.2s ease-in-out;
}
.calcufacil-optimal_car_sale_point_calculator button[type="submit"]:hover { background: #5d4037; /* Darker Brown */ }

/* Results Area Styling */
.calcufacil-optimal_car_sale_point_calculator .results.enhanced-carsale-results h2 {
    font-size: 20px; color: #4e342e; text-align: center; margin-top:0; margin-bottom: 15px; font-weight: 600;
}
.calcufacil-optimal_car_sale_point_calculator .results.enhanced-carsale-results > h4 { /* Chart and Table Titles */
    font-size: 16px; color: #5d4037; margin-top: 25px; margin-bottom: 10px; font-weight: 600;
    display: flex; align-items: center; gap: 6px;
}
.calcufacil-optimal_car_sale_point_calculator .results.enhanced-carsale-results > h4 i { color: #8d6e63; }


.calcufacil-optimal_car_sale_point_calculator .chart-container-carsale {
    width: 100%;
    height: 350px; /* Good height for line chart with multiple datasets */
    position: relative;
    margin-bottom: 25px;
    padding: 10px;
    background-color: #fdfcfb;
    border-radius: 4px;
    border: 1px solid #f0f0f0;
    box-sizing: border-box;
}
.calcufacil-optimal_car_sale_point_calculator .chart-container-carsale canvas {
    max-width: 100%; max-height: 100%; display: block;
}

.calcufacil-optimal_car_sale_point_calculator .projection-table-container {
    max-height: 300px; /* Make table scrollable if too long */
    overflow-y: auto;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    margin-bottom: 20px;
}
.calcufacil-optimal_car_sale_point_calculator .projection-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
.calcufacil-optimal_car_sale_point_calculator .projection-table th,
.calcufacil-optimal_car_sale_point_calculator .projection-table td {
    border: 1px solid #eee;
    padding: 7px 9px;
    text-align: right;
}
.calcufacil-optimal_car_sale_point_calculator .projection-table th {
    background-color: #efebe9; /* Light brown header */
    color: #4e342e;
    font-weight: 600;
    position: sticky; top: 0; /* Sticky header */
}
.calcufacil-optimal_car_sale_point_calculator .projection-table td:first-child,
.calcufacil-optimal_car_sale_point_calculator .projection-table td:nth-child(2) {
    text-align: center;
}
.calcufacil-optimal_car_sale_point_calculator .projection-table tbody tr:nth-child(even) {
    background-color: #fcfaf8;
}

.calcufacil-optimal_car_sale_point_calculator .optimal-point-summary {
    margin: 20px 0; padding: 15px; background-color: #fff3e0; /* Light orange */
    border: 1px solid #ffe0b2; border-left: 5px solid #ffb74d; /* Orange */
    border-radius: 5px;
}
.calcufacil-optimal_car_sale_point_calculator .optimal-point-summary h4 {
    margin-top: 0; margin-bottom: 10px; color: #e65100; /* Dark orange */ font-size: 16px;
    display: flex; align-items: center; gap: 6px;
}
.calcufacil-optimal_car_sale_point_calculator .optimal-point-summary p {
    font-size: 14px; color: #5d4037; line-height: 1.6; margin: 0;
}
.calcufacil-optimal_car_sale_point_calculator .optimal-point-summary strong {
    color: #4e342e; font-weight: 600;
}


.calcufacil-optimal_car_sale_point_calculator .disclaimer-box.car-sale-disclaimer {
    margin-top: 25px; padding: 15px; background-color: #f5f5f5; /* Grey */
    border: 1px solid #e0e0e0; border-left: 4px solid #9e9e9e; /* Darker Grey */
    border-radius: 4px;
}
.calcufacil-optimal_car_sale_point_calculator .disclaimer-box.car-sale-disclaimer h4 {
    margin-top: 0; margin-bottom: 8px; color: #424242; font-size: 15px;
}
.calcufacil-optimal_car_sale_point_calculator .disclaimer-box.car-sale-disclaimer ul {
    list-style: disc; margin-left: 18px; padding-left: 0; font-size: 12px; color: #616161; line-height: 1.5;
}
.calcufacil-optimal_car_sale_point_calculator .disclaimer-box.car-sale-disclaimer li { margin-bottom: 6px; }

.calcufacil-optimal_car_sale_point_calculator .errors.main-error {
    color: #b71c1c; font-size: 13px; background: #ffcdd2; padding: 8px 12px;
    border-radius: 4px; border-left: 3px solid #b71c1c; margin-bottom: 15px;
}
.calcufacil-optimal_car_sale_point_calculator .initial-message {
    color: #5d4037; text-align: center; padding: 20px; background-color: #fdfcfb;
    border: 1px dashed #e8e0d1; border-radius: 5px; margin-top: 15px; line-height: 1.5; font-size: 14px;
}


@media (max-width: 950px) {
    .calcufacil-optimal_car_sale_point_calculator.calcufacil-container.enhanced-carsale-calc {
        flex-direction: column;
    }
    .calcufacil-optimal_car_sale_point_calculator .calcufacil-left.calculator-form,
    .calcufacil-optimal_car_sale_point_calculator .calcufacil-right.results.enhanced-carsale-results {
        flex-basis: 100%; min-width: 100%; margin-bottom: 20px;
    }
     .calcufacil-optimal_car_sale_point_calculator .calcufacil-right.results.enhanced-carsale-results { margin-bottom: 0; }
}
@media (max-width: 480px) {
    .calcufacil-optimal_car_sale_point_calculator .chart-container-carsale {
        height: 300px; /* Adjust for mobile */
    }
    .calcufacil-optimal_car_sale_point_calculator .projection-table {
        font-size: 11px; /* Smaller font for table on mobile */
    }
     .calcufacil-optimal_car_sale_point_calculator .projection-table th,
    .calcufacil-optimal_car_sale_point_calculator .projection-table td {
        padding: 5px;
    }
}