/* Enhanced Styles for Property Purchase Expenses Calculator (Spain) - Bar Chart Version */
.calcufacil-property_purchase_expenses_calculator.calcufacil-container.enhanced-ppe-calc {
    max-width: 1050px; /* Max width of the entire calculator component */
    margin: 25px auto;
    background: #f9f9f9; /* Light overall background for the container */
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: row; /* Side-by-side columns on larger screens */
    flex-wrap: nowrap;  /* Prevent wrapping on desktop, handle with media query */
    gap: 20px;
    font-family: 'Open Sans', sans-serif;
    box-sizing: border-box;
}

/* Left Column: Form */
.calcufacil-property_purchase_expenses_calculator .calcufacil-left.calculator-form {
    flex: 1 1 40%; /* Takes up about 40% of space, can grow/shrink */
    min-width: 320px;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    box-sizing: border-box;
}

/* Right Column: Results */
.calcufacil-property_purchase_expenses_calculator .calcufacil-right.results.enhanced-ppe-results {
    flex: 1 1 58%; /* Takes up about 58% of space, allows for gap, can grow/shrink */
    min-width: 340px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    box-sizing: border-box;
    display: flex;
    flex-direction: column; /* Stack children vertically within results */
}

/* Form specific styles */
.calcufacil-property_purchase_expenses_calculator .calculator-form h2 {
    font-size: 22px; color: #00796b; margin-top: 0; margin-bottom: 10px; font-weight: 600;
}
.calcufacil-property_purchase_expenses_calculator .calculator-form .description {
    font-size: 14px; color: #444; margin-bottom: 25px; line-height: 1.6;
}
.calcufacil-property_purchase_expenses_calculator .calculator-form h3 { /* Subheadings in form */
    font-size: 17px; color: #004d40; margin-top: 20px; margin-bottom: 15px;
    padding-bottom: 8px; border-bottom: 1px solid #b2dfdb; display: flex; align-items: center; gap: 8px;
}
.calcufacil-property_purchase_expenses_calculator .calculator-form h3:first-of-type {
    margin-top: 0;
}
.calcufacil-property_purchase_expenses_calculator .calculator-form h3 i {
    color: #00796b; font-size: 1.1em;
}
.calcufacil-property_purchase_expenses_calculator .input-group { margin-bottom: 18px; display: flex; flex-direction: column; }
.calcufacil-property_purchase_expenses_calculator .input-group label {
    font-weight: 600; color: #004d40; margin-bottom: 6px; font-size: 13px;
}
.calcufacil-property_purchase_expenses_calculator .input-group input[type="text"],
.calcufacil-property_purchase_expenses_calculator .input-group input[type="number"],
.calcufacil-property_purchase_expenses_calculator .input-group select {
    width: 100%; padding: 10px; border: 1px solid #80cbc4; border-radius: 4px;
    font-size: 14px; background: #fdfdfd; box-sizing: border-box;
}
.calcufacil-property_purchase_expenses_calculator .input-group-slider input[type="range"] {
    width: 100%; margin-top: 8px; accent-color: #00796b;
}
.calcufacil-property_purchase_expenses_calculator .input-group.checkbox-style-group.single-checkbox {
    background-color: #e0f2f1; padding: 12px; border-radius: 4px; border: 1px solid #b2dfdb;
}
.calcufacil-property_purchase_expenses_calculator .checkbox-item { display: flex; align-items: center; }
.calcufacil-property_purchase_expenses_calculator .checkbox-item input[type="checkbox"] {
    margin-right: 8px; width: 17px; height: 17px; cursor: pointer; accent-color: #00796b;
}
.calcufacil-property_purchase_expenses_calculator .checkbox-item label {
    margin-bottom: 0; font-weight: normal; font-size: 0.95em; color: #004d40; cursor: pointer;
}
.calcufacil-property_purchase_expenses_calculator .input-group small {
    font-size: 11px; color: #00695c; margin-top: 4px; display: block;
}
.calcufacil-property_purchase_expenses_calculator button[type="submit"] {
    background: #00796b; 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-property_purchase_expenses_calculator button[type="submit"]:hover { background: #004d40; }

/* Results Area Styling */
.calcufacil-property_purchase_expenses_calculator .results.enhanced-ppe-results h2 { /* This is the title inside results area */
    font-size: 20px; color: #004d40; text-align: center; margin-top: 0; margin-bottom: 15px; font-weight: 600;
}
.calcufacil-property_purchase_expenses_calculator .results.enhanced-ppe-results .summary {
 text-align: center; font-size: 1em; color: #00695c; margin-bottom: 20px;
 padding-bottom: 15px; border-bottom: 1px dashed #b2dfdb; line-height: 1.6;
}
.calcufacil-property_purchase_expenses_calculator .results.enhanced-ppe-results .summary strong {
 color: #004d40;
}

.calcufacil-property_purchase_expenses_calculator .main-total-display {
    background-color: #e0f2f1; color: #004d40; padding: 18px 20px; border-radius: 6px;
    text-align: center; margin-bottom: 25px; font-size: 16px; border: 1px solid #80cbc4;
}
.calcufacil-property_purchase_expenses_calculator .main-total-display .value {
    display: block; font-size: 1.8em; font-weight: bold; margin-top: 3px;
}
.calcufacil-property_purchase_expenses_calculator .main-total-display .value.strong-value {
    font-size: 2em; color: #00796b;
}

.calcufacil-property_purchase_expenses_calculator .results-columns {
    display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 20px;
}
.calcufacil-property_purchase_expenses_calculator .results-column {
    flex: 1; min-width: 260px; background: #f7fdfd; padding: 15px;
    border-radius: 5px; border: 1px solid #e0f2f1; box-sizing: border-box;
}
.calcufacil-property_purchase_expenses_calculator .results-column h4 {
    margin-top: 0; margin-bottom: 12px; color: #00695c; font-size: 16px;
    padding-bottom: 8px; border-bottom: 1px solid #b2dfdb; display: flex; align-items: center; gap: 7px;
}
.calcufacil-property_purchase_expenses_calculator .results-column h4 i { font-size: 1.05em; }
.calcufacil-property_purchase_expenses_calculator .taxes-column h4 i { color: #d32f2f; }
.calcufacil-property_purchase_expenses_calculator .fees-column h4 i { color: #546e7a; }

.calcufacil-property_purchase_expenses_calculator .results-column ul {
    list-style: none; padding: 0; margin: 0;
}
.calcufacil-property_purchase_expenses_calculator .results-column li {
    display: flex; justify-content: space-between; padding: 7px 3px; font-size: 13px;
    color: #336666; border-bottom: 1px dotted #e0f2f1;
}
.calcufacil-property_purchase_expenses_calculator .results-column li:last-child { border-bottom: none; }
.calcufacil-property_purchase_expenses_calculator .results-column li .value { font-weight: 600; color: #004d40; }
.calcufacil-property_purchase_expenses_calculator .results-column li.total-line {
    margin-top: 10px; padding-top: 10px; border-top: 1px solid #b2dfdb;
    font-size: 14px; font-weight: bold;
}
.calcufacil-property_purchase_expenses_calculator .results-column li.total-line .strong-value { font-size: 1.1em; color: #00796b; }

/* Title for the chart (assuming it's now a direct child of .results.enhanced-ppe-results) */
.calcufacil-property_purchase_expenses_calculator .results.enhanced-ppe-results > h4 {
    text-align: center;
    margin-top: 25px;
    margin-bottom: 10px;
    color: #00695c; /* Teal */
    font-size: 16px;
    font-weight: 600;
}
.calcufacil-property_purchase_expenses_calculator .results.enhanced-ppe-results > h4 i {
    margin-right: 8px; /* Space between icon and text */
    color: #00897b; /* Slightly different teal for icon */
}

.calcufacil-property_purchase_expenses_calculator .chart-container-ppe {
    width: 100%;
    height: 320px; /* Adjusted height for Bar chart, might need more if many bars or vertical */
    position: relative;
    margin: 0 auto 20px auto; /* No top margin if h4 is outside */
    padding: 10px;
    background-color: #f7fdfd;
    border-radius: 4px;
    border: 1px solid #e0f2f1;
    box-sizing: border-box;
    display: flex; /* Helps if canvas is smaller than container */
    justify-content: center;
    align-items: center;
}
.calcufacil-property_purchase_expenses_calculator .chart-container-ppe canvas {
    max-width: 100%;
    max-height: 100%;
    display: block; /* Good practice for canvas */
}

.calcufacil-property_purchase_expenses_calculator .disclaimer-box.ppe-disclaimer {
    margin-top: 25px; padding: 15px; background-color: #fffde7;
    border: 1px solid #fff9c4; border-left: 4px solid #fbc02d; border-radius: 4px;
}
.calcufacil-property_purchase_expenses_calculator .disclaimer-box.ppe-disclaimer h4 {
    margin-top: 0; margin-bottom: 8px; color: #af8100; font-size: 15px;
}
.calcufacil-property_purchase_expenses_calculator .disclaimer-box.ppe-disclaimer ul {
    list-style: disc; margin-left: 18px; padding-left: 0;
}
.calcufacil-property_purchase_expenses_calculator .disclaimer-box.ppe-disclaimer li {
    margin-bottom: 6px; font-size: 12px; color: #555; line-height: 1.4;
}
.calcufacil-property_purchase_expenses_calculator .disclaimer-box.ppe-disclaimer strong { color: #c62828; }
.calcufacil-property_purchase_expenses_calculator .disclaimer-box.ppe-disclaimer a { color: #00695c; }

.calcufacil-property_purchase_expenses_calculator .errors.main-error {
    color: #c62828; font-size: 13px; background: #ffcdd2; padding: 8px 12px;
    border-radius: 4px; border-left: 3px solid #c62828; margin-bottom: 15px;
}
.calcufacil-property_purchase_expenses_calculator .initial-message {
    color: #00695c; text-align: center; padding: 20px; background-color: #e0f2f1;
    border: 1px dashed #b2dfdb; border-radius: 5px; margin-top: 15px; line-height: 1.5; font-size: 14px;
}

/* Responsive Stacking for the main left/right columns */
@media (max-width: 900px) {
    .calcufacil-property_purchase_expenses_calculator.calcufacil-container.enhanced-ppe-calc {
        flex-direction: column;
        flex-wrap: wrap;
    }
    .calcufacil-property_purchase_expenses_calculator .calcufacil-left.calculator-form,
    .calcufacil-property_purchase_expenses_calculator .calcufacil-right.results.enhanced-ppe-results {
        flex-basis: 100%;
        min-width: 100%;
        margin-bottom: 20px;
    }
    .calcufacil-property_purchase_expenses_calculator .calcufacil-right.results.enhanced-ppe-results {
        margin-bottom: 0;
    }
}

/* Responsive adjustments for chart container */
@media (max-width: 480px) {
    .calcufacil-property_purchase_expenses_calculator .chart-container-ppe {
        height: 280px; /* Adjust for bar chart on very small screens */
    }
    .calcufacil-property_purchase_expenses_calculator .results-column {
        min-width: calc(100% - 30px);
    }
    .calcufacil-property_purchase_expenses_calculator .main-total-display .value { font-size: 1.6em; }
    .calcufacil-property_purchase_expenses_calculator .main-total-display .value.strong-value { font-size: 1.8em; }
}