/* Stilurile de bază ale simulatorului (copiate din HTML-ul final) */
.simulator-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 0; background-color: #f4f7f9; color: #333; }
.simulator-container .container { max-width: 1100px; margin: 20px auto; background: #fff; padding: 30px; border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,0.1); }
.simulator-container .header { text-align: center; margin-bottom: 40px; }
.simulator-container .header h1 { font-size: 2.2em; color: #4a0e81; margin: 0; border: none; }
.simulator-container .header p { font-size: 1.2em; color: #6a1b9a; margin-top: 5px; }
.simulator-container h2 { font-size: 1.4em; margin-top: 40px; color: #4a0e81; border-bottom: 2px solid #e0e0e0; padding-bottom: 10px; }
.simulator-container h3 { font-size: 1.1em; margin-top: 25px; border: none; padding-bottom: 5px; color: #6a1b9a; }
.simulator-container .section-box { margin-top: 30px; padding: 25px; border-radius: 8px; border-left: 5px solid; }
.simulator-container .input-section { border-color: #7e57c2; background-color: #f3e5f5; }
.simulator-container .danger-section { border-color: #c62828; background-color: #ffebee; }
.simulator-container .firm-results { border-color: #6a0dad; background-color: #f3e8ff; }
.simulator-container .personal-results { border-color: #2e7d32; background-color: #e8f5e9; }
.simulator-container .summary-section { border-color: #616161; background-color: #f5f5f5; }
.simulator-container .cta-section { border-color: #00838f; background-color: #e0f7fa; text-align: center; }
.simulator-container .form-group { margin-bottom: 15px; display: flex; align-items: center; flex-wrap: wrap; }
.simulator-container .form-group label { flex-grow: 1; font-weight: bold; margin-right: 15px; }
.simulator-container .form-group input { flex-grow: 0; flex-shrink: 0; width: 180px; padding: 10px; border-radius: 5px; border: 1px solid #ccc; font-size: 1em; text-align: right; }
.simulator-container .unit { margin-left: 10px; font-weight: 500; color: #777; width: 70px; text-align: left; }
.simulator-container p { line-height: 1.6; }
.simulator-container .explanation { font-size: 0.9em; color: #555; margin-top: 5px; margin-bottom: 15px; }
.simulator-container .result-item { display: flex; justify-content: space-between; padding: 15px 10px; font-size: 1.1em; border-bottom: 1px solid rgba(0,0,0,0.1); transition: background-color 0.2s; position: relative; }
.simulator-container .result-item.is-accordion { cursor: pointer; }
.simulator-container .result-item.is-accordion:hover { background-color: rgba(0,0,0,0.05); }
.simulator-container .result-item.is-accordion.active { background-color: rgba(0,0,0,0.08); }
.simulator-container .result-item.is-accordion::after { content: '+'; position: absolute; right: 15px; font-size: 1.5em; color: #555; transition: transform 0.3s; }
.simulator-container .result-item.is-accordion.active::after { transform: rotate(45deg); }
.simulator-container .result-item strong, .simulator-container .value { font-weight: bold; }
.simulator-container .value { margin-right: 30px; }
.simulator-container .explanation-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; background-color: #fafafa; }
.simulator-container .explanation-box { padding: 20px; border-bottom: 1px solid #ddd; }
.simulator-container .explanation-box h4 { margin-top: 0; color: #4a0e81; }
.simulator-container .explanation-box p, .simulator-container ul { font-size: 0.95em; margin-bottom: 0; }
.simulator-container ul { padding-left: 20px; }
.simulator-container .final-amount { font-size: 1.8em; font-weight: bold; color: #1b5e20; }
.simulator-container .chart-container { margin-top: 20px; }
.simulator-container .chart-bar { display: flex; align-items: center; height: 35px; background-color: #ddd; border-radius: 5px; margin-bottom: 8px; font-size: 0.9em; color: white; }
.simulator-container .chart-bar > div { height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; text-shadow: 1px 1px 2px rgba(0,0,0,0.5); transition: width 0.5s; }
.simulator-container .bar-costs { background-color: #ef5350; }
.simulator-container .bar-taxes { background-color: #ffa726; }
.simulator-container .bar-net { background-color: #66bb6a; }
.simulator-container .legend { display: flex; justify-content: space-around; margin-top: 15px; font-size: 0.9em; }
.simulator-container .cta-button { display: inline-block; background-color: #6a0dad; color: white; padding: 15px 30px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.2em; margin-top: 15px; transition: background-color 0.3s, transform 0.2s; }
.simulator-container .cta-button:hover { background-color: #4a0e81; transform: translateY(-2px); }
.simulator-container .project-summary-box { margin-top: 15px; padding: 15px 20px; border-radius: 8px; display: flex; justify-content: space-between; align-items: center; font-size: 1.2em; }
.simulator-container .project-cost-box { background-color: #f5f5f5; border: 2px solid #bdbdbd; }
.simulator-container .project-price-box { background-color: #e3f2fd; border: 2px solid #6a0dad; margin-top: 25px; }
.simulator-container .project-summary-box .total-value { font-weight: bold; }
.simulator-container .project-price-box .total-value { color: #4a0e81; }

/* MODIFICARE 3 (CORECTATĂ): Reguli pentru ecrane mici (mobile) */
@media (max-width: 767px) {
    /* MODIFICARE NOUĂ: Eliminarea padding-ului de pe body pe mobil */
body {
    padding: 0;
}
    .simulator-container .header h1 {
        font-size: 1.8em; /* Titlu mai mic pe mobil */
    }
    .simulator-container .container {
    padding: 1; /* Eliminăm spațiul interior al containerului principal */
    margin: 1; /* Eliminăm orice margine exterioară */
    width: 100%; /* Forțăm containerul să ocupe toată lățimea */
    border-radius: 0; /* Colțuri drepte pentru un aspect full-width */
    box-shadow: none; /* Eliminăm umbra pe mobil */
}
    .simulator-container .form-group {
        flex-direction: column;
        align-items: flex-start;
    }
    /* Reguli adăugate pentru a corecta lățimea și spațierea */
    .simulator-container .form-group label,
    .simulator-container .form-group input {
        width: 100%; /* Forțează elementele să ocupe toată lățimea */
        flex: auto; /* Resetează comportamentul flexibil */
    }
    .simulator-container .form-group label {
        margin-bottom: 5px; /* Adaugă un mic spațiu între etichetă și input */
    }
    .simulator-container .form-group input {
        width: 150px; 
        box-sizing: border-box; /* Asigură calculul corect al lățimii */
    }
    /* MODIFICARE NOUĂ: Ajustări fine pentru conținut */
    .simulator-container .section-box {
        padding: 25px 5px; /* Păstrăm padding sus/jos, dar micșorăm stânga/dreapta la 15px */
    }
    .simulator-container .result-item {
        font-size: 0.95em; /* Micșorăm fontul în toate rândurile de rezultate */
    }
    .simulator-container .final-amount {
        font-size: 1.4em; /* Micșorăm specific suma finală, care este cea mai mare */
    }
    
}


/* Stiluri noi, adaptate din fcc-styles.css */
.b4p-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 30px;
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}
.b4p-button-primary,
.b4p-button-secondary {
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
}
.b4p-button-primary {
    background-color: #6a0dad; /* Culoarea brandului */
    color: white;
}
.b4p-button-primary:disabled {
    background-color: #999;
    cursor: not-allowed;
}
.b4p-button-secondary {
    background-color: #f0f0f0;
    color: #333;
    border: 1px solid #ccc;
}
#b4p-form-feedback {
    margin-top: 15px;
    padding: 15px;
    border-radius: 4px;
    font-weight: bold;
    display: none; /* Ascuns by default */
}
.b4p-success {
    background-color: #dff0d8;
    border: 1px solid #d6e9c6;
    color: #3c763d;
}
.b4p-error {
    background-color: #f2dede;
    border: 1px solid #ebccd1;
    color: #a94442;
}