body {
    font-family: 'DM Sans', Arial, sans-serif;
    background: #F5F3EE;
    margin: 0; padding: 20px;
    overflow-x: hidden;
}
.sim-nav {
    background: #0B2342; padding: 0.8rem 5%;
    display: flex; align-items: center; justify-content: space-between;
    margin: -20px -20px 20px -20px;
}
.sim-nav a.retour {
    color: rgba(255,255,255,0.75); text-decoration: none;
    font-family: 'DM Sans', sans-serif; font-size: 0.88rem; transition: color 0.2s;
}
.sim-nav a.retour:hover { color: #C9963A; }
.sim-nav a.retour::before { content: '← '; }
.sim-nav .logo {
    font-family: 'Arial Black', sans-serif; font-size: 1.2rem;
    font-weight: 800; color: #fff; text-decoration: none;
}
.sim-nav .logo span { color: #C9963A; }
.sim-footer {
    background: #0B2342; padding: 1rem 5%;
    text-align: center; margin-top: 3rem;
    margin: 3rem -20px -20px -20px;
}
.sim-footer a {
    color: rgba(255,255,255,0.6); text-decoration: none;
    font-family: 'DM Sans', sans-serif; font-size: 0.85rem;
}
.sim-footer a:hover { color: #C9963A; }
.container {
    max-width: 550px; margin: 20px auto;
    background: #fff; padding: 20px;
    border-radius: 10px; border: 2px solid #C9963A;
    box-shadow: 0 0 12px rgba(11,35,66,0.08);
    overflow: hidden;
}
.form-box { width: 100%; }
h1 {
    text-align: center; color: #0B2342;
    font-size: 22px; margin-bottom: 30px; position: relative;
    font-family: 'Josefin Sans', Arial, sans-serif;
}
h1::after {
    content: ""; display: block; width: 100%; height: 1.5px;
    background: #C9963A; margin: 12px auto 0 auto; border-radius: 2px;
}
.form-group { margin-bottom: 15px; display: flex; flex-direction: column; gap: 8px; }
.form-group label { font-weight: bold; margin-bottom: 4px; color: #0B2342; }
input[type="number"], input[type="date"], select {
    width: 100%; padding: 10px; font-size: 16px;
    border: 1px solid #ccc; border-radius: 6px;
    background: #f8fbff; box-sizing: border-box;
}
input:focus, select:focus {
    border-color: #C9963A; outline: none;
    box-shadow: 0 0 0 2px rgba(201,150,58,0.2);
}
.radio-group { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
.radio-group label { font-weight: normal; display: flex; align-items: center; gap: 8px; }
.radio-group input[type="number"] { width: 100%; padding: 8px; margin-top: 5px; font-size: 15px; }
.btn-calculate {
    width: 100%; background-color: #C9963A; color: white;
    border: none; padding: 12px; font-size: 16px;
    border-radius: 50px; cursor: pointer; font-weight: bold;
    font-family: 'Josefin Sans', Arial, sans-serif;
    text-align: center; display: block; text-decoration: none;
    transition: background 0.2s; margin: 10px auto;
}
.btn-calculate:hover { background-color: #0B2342; }
button {
    width: 100%; background-color: #C9963A; color: white;
    border: none; padding: 12px; font-size: 16px;
    border-radius: 50px; cursor: pointer; font-weight: bold;
    font-family: 'Josefin Sans', Arial, sans-serif;
    transition: background 0.2s; margin: 10px auto;
}
button:hover { background-color: #0B2342; }
.result-group {
    display: flex; justify-content: space-between;
    padding: 8px 0; border-bottom: 1px solid #eee; font-size: 16px;
}
.result-label { font-weight: 600; color: #444; }
.result-value { text-align: right; color: #222; font-weight: 500; }
.result-group.highlight {
    background: #f9f6f0; padding: 12px; border-radius: 6px;
    font-size: 17px; margin-top: 15px; border-left: 3px solid #C9963A;
}
table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 16px; }
table th, table td { padding: 12px; border: 1px solid #ddd; }
table th { background-color: #0B2342; color: #fff; font-weight: bold; }
.forfait-label, .montant-label { color: #0B2342; font-size: 15px; }
* { max-width: 100%; box-sizing: border-box; }
@media (max-width: 576px) {
    .container { margin: 10px auto; padding: 15px; }
    h1 { font-size: 20px; margin-bottom: 20px; }
    .form-group { margin-bottom: 12px; }
}