/* ==========================
   MoneyGuideUSA Calculator
========================== */

.calculator-container{
    max-width:1100px;
    margin:40px auto;
    padding:20px;
}

.calculator-card{
    background:#ffffff;
    border-radius:12px;
    padding:30px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.calculator-card h1{
    font-size:2rem;
    color:#1f2937;
    margin-bottom:10px;
}

.calculator-card p{
    color:#555;
    line-height:1.8;
}

.calculator-card h2{
    margin-top:35px;
    margin-bottom:15px;
    color:#1f2937;
}

.form-group{
    display:flex;
    flex-direction:column;
    margin-bottom:20px;
}

.form-group label{
    font-weight:600;
    margin-bottom:8px;
    color:#333;
}

.form-group input{
    padding:14px;
    font-size:16px;
    border:1px solid #dcdcdc;
    border-radius:8px;
    transition:.3s;
}

.form-group input:focus{
    outline:none;
    border-color:#0d6efd;
    box-shadow:0 0 8px rgba(13,110,253,.20);
}

button{
    width:100%;
    margin-top:15px;
    padding:15px;
    border:none;
    border-radius:8px;
    background:#0d6efd;
    color:#fff;
    font-size:18px;
    cursor:pointer;
    transition:.3s;
}

button:hover{
    background:#0b5ed7;
}

.results{
    margin-top:35px;
    padding:25px;
    background:#f7f9fc;
    border-left:5px solid #0d6efd;
    border-radius:8px;
}

.results h2{
    margin-top:0;
}

.results p{
    display:flex;
    justify-content:space-between;
    font-size:18px;
    margin:14px 0;
}

.results strong{
    font-size:20px;
}

.balance-positive{
    color:#198754;
    font-weight:bold;
}

.balance-negative{
    color:#dc3545;
    font-weight:bold;
}

.balance-warning{
    color:#fd7e14;
    font-weight:bold;
}

.calculator-info{
    margin-top:40px;
    background:#ffffff;
    padding:30px;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.calculator-info h2{
    margin-bottom:15px;
}

.calculator-info p{
    line-height:1.8;
    color:#555;
}

.breadcrumb{
    margin-bottom:20px;
    font-size:15px;
}

.breadcrumb a{
    text-decoration:none;
    color:#0d6efd;
}

.breadcrumb a:hover{
    text-decoration:underline;
}

/* Health Status Box */

.status-box{
    margin-top:25px;
    padding:20px;
    border-radius:10px;
    text-align:center;
    font-size:20px;
    font-weight:bold;
}

.status-good{
    background:#d1e7dd;
    color:#0f5132;
}

.status-average{
    background:#fff3cd;
    color:#664d03;
}

.status-poor{
    background:#f8d7da;
    color:#842029;
}

/* Responsive */

@media (max-width:768px){

.calculator-card{
    padding:20px;
}

.calculator-card h1{
    font-size:1.7rem;
}

.results p{
    flex-direction:column;
    gap:5px;
}

button{
    font-size:17px;
}

}