.psim-section{
padding:30px 20px;
background:#f6f8fb;
}

.psim-container{
max-width:1200px;
margin:auto;
}

.psim-card{
background:#fff;
border-radius:12px;
padding:40px;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

.psim-grid{
display:grid;
grid-template-columns:1.3fr 1fr;
gap:40px;
}

.psim-title{
font-size:30px;
font-weight:700;
margin-bottom:5px;
}

.psim-subtitle{
color:#777;
margin-bottom:30px;
}

.psim-row{
display:grid;
grid-template-columns:1fr 150px 120px;
gap:15px;
margin-bottom:25px;
}

.psim-field label{
display:block;
font-weight:600;
margin-bottom:6px;
}

.psim-field select,
.psim-field input{
width:100%;
padding:10px;
border:1px solid #ddd;
border-radius:6px;
}

.psim-input-group{
display:flex;
}

.psim-input-group input{
flex:1;
}

.psim-input-group span{
background:#eee;
padding:10px 12px;
border:1px solid #ddd;
border-left:none;
border-radius:0 6px 6px 0;
}

.psim-slider{
margin-bottom:25px;
}

.psim-slider label{
font-weight:600;
display:block;
margin-bottom:10px;
}

.psim-slider input[type=range]{
width:100%;
}

.psim-slider-labels{
display:flex;
justify-content:space-between;
font-size:12px;
margin-bottom:10px;
color:#777;
}

.psim-error{
display:none;
background:#ffe9e9;
padding:10px;
border-radius:6px;
margin-top:10px;
}

.psim-right{
background:#0f172a;
color:#fff;
padding:30px;
border-radius:10px;
}

.psim-result-title{
font-size:22px;
margin-bottom:5px;
}

.psim-result-sub{
color:#cbd5e1;
margin-bottom:25px;
}

.psim-monthly span{
display:block;
font-size:13px;
color:#cbd5e1;
}

.psim-monthly-value{
font-size:32px;
font-weight:700;
margin-top:5px;
}

.psim-results{
margin-top:20px;
}

.psim-results div{
display:flex;
justify-content:space-between;
margin-bottom:10px;
}

/* ===== BARRE PROGRESSION MODERNE ===== */

.psim-bar{
margin-top:25px;
}

.psim-bar-top{
display:flex;
justify-content:space-between;
font-size:13px;
margin-bottom:10px;
color:#cbd5e1;
}

.psim-bar-bg{
height:12px;
background:#1e293b;
border-radius:20px;
overflow:hidden;
display:flex;
position:relative;
box-shadow:inset 0 2px 6px rgba(0,0,0,0.35);
}

/* CAPITAL */

#capitalBar{
height:100%;
width:0%;
background:linear-gradient(90deg,#22c55e,#4ade80);
border-radius:20px 0 0 20px;
transition:width 0.6s ease;
box-shadow:0 0 10px rgba(34,197,94,0.4);
}

/* INTERETS */

#interestBar{
height:100%;
width:0%;
background:linear-gradient(90deg,#f87171,#ef4444);
transition:width 0.6s ease;
box-shadow:0 0 10px rgba(239,68,68,0.4);
}

/* Effet brillant subtil */

.psim-bar-bg::after{
content:"";
position:absolute;
top:0;
left:-100%;
height:100%;
width:50%;
background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,0.25),
transparent
);
animation:psimBarShine 3s infinite;
}

@keyframes psimBarShine{
0%{left:-100%;}
100%{left:150%;}
}

/* ===== BOUTON ===== */

.psim-btn{
width:100%;
margin-top:25px;
padding:14px;
background:#2563eb;
color:#fff;
border:none;
border-radius:6px;
font-weight:600;
cursor:pointer;
transition:all 0.25s ease;
}

.psim-btn:hover{
background:#1d4ed8;
transform:translateY(-1px);
box-shadow:0 6px 14px rgba(0,0,0,0.15);
}

.psim-disclaimer{
display:block;
margin-top:10px;
font-size:12px;
color:#94a3b8;
}

/* ===== RESPONSIVE ===== */

@media(max-width:900px){

.psim-grid{
grid-template-columns:1fr;
}

.psim-row{
grid-template-columns:1fr;
}

.psim-right{
margin-top:20px;
}

}











/* ===== SLIDERS MODERNES ===== */

.psim-slider input[type=range]{
-webkit-appearance:none;
width:100%;
height:8px;
border-radius:10px;
background:linear-gradient(90deg,#2563eb,#60a5fa);
outline:none;
}

/* Track */

.psim-slider input[type=range]::-webkit-slider-runnable-track{
height:8px;
border-radius:10px;
background:#dbeafe;
}

.psim-slider input[type=range]::-moz-range-track{
height:8px;
border-radius:10px;
background:#dbeafe;
}

/* Thumb */

.psim-slider input[type=range]::-webkit-slider-thumb{
-webkit-appearance:none;
width:20px;
height:20px;
border-radius:50%;
background:#2563eb;
border:3px solid #fff;
box-shadow:0 3px 10px rgba(0,0,0,0.2);
cursor:pointer;
margin-top:-6px;
transition:transform 0.2s ease;
}

.psim-slider input[type=range]::-moz-range-thumb{
width:20px;
height:20px;
border-radius:50%;
background:#2563eb;
border:3px solid #fff;
box-shadow:0 3px 10px rgba(0,0,0,0.2);
cursor:pointer;
}

/* effet hover */

.psim-slider input[type=range]::-webkit-slider-thumb:hover{
transform:scale(1.15);
}

/* ===== INPUTS MODERNES ===== */

.psim-slider input[type=number]{
width:100%;
padding:12px 14px;
border:1px solid #d1d5db;
border-radius:8px;
font-size:15px;
transition:all 0.25s ease;
background:#fff;
}

.psim-slider input[type=number]:focus{
outline:none;
border-color:#2563eb;
box-shadow:0 0 0 3px rgba(37,99,235,0.15);
}

/* INPUT GROUP durée */

.psim-input-group input{
padding:12px 14px;
border:1px solid #d1d5db;
border-right:none;
border-radius:8px 0 0 8px;
}

.psim-input-group span{
padding:12px 16px;
background:#f1f5f9;
border:1px solid #d1d5db;
border-left:none;
border-radius:0 8px 8px 0;
font-weight:500;
}

/* labels slider */

.psim-slider-labels{
font-size:12px;
color:#64748b;
margin-top:6px;
}

/* animation focus */

.psim-slider input[type=number]:hover{
border-color:#94a3b8;
}