
.simu { --simu-cta: var(--cta-bg, var(--primary-color)); --simu-line: rgba(0,0,0,0.12); background: #fff; border: 1px solid var(--simu-line); border-radius: var(--card-radius); padding: 28px; text-align: left; color: var(--dark-color); }
.simu fieldset { border: 0; padding: 0; margin: 0 0 26px; min-width: 0; }
.simu legend { font-weight: 700; font-size: 1.15rem; margin-bottom: 14px; color: var(--dark-color); }
.simu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px 18px; }
.simu label, .simu .simu-label { display: block; font-size: 0.92rem; font-weight: 600; margin-bottom: 6px; color: var(--dark-color); }
.simu input[type="number"], .simu input[type="search"], .simu select { width: 100%; padding: 11px 12px; font-size: 1rem; border: 1px solid var(--simu-line); border-radius: calc(var(--card-radius) / 2); background: #fff; color: var(--dark-color); font-family: inherit; }
.simu input:focus, .simu select:focus { outline: 2px solid var(--primary-color); outline-offset: 1px; }
.simu-choix { display: flex; flex-wrap: wrap; gap: 8px; }
.simu-choix label { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; padding: 9px 14px; border: 1px solid var(--simu-line); border-radius: var(--btn-radius); cursor: pointer; margin: 0; }
.simu-choix input { accent-color: var(--primary-color); }
.simu-choix label:has(input:checked) { border-color: var(--primary-color); background: var(--light-bg); }
.simu-aide { font-size: 0.85rem; color: var(--gray-dark); margin-top: 6px; }
.simu-manuel { margin-top: 14px; padding: 14px; background: var(--light-bg); border-radius: calc(var(--card-radius) / 2); }
.simu-resultat { margin-top: 6px; padding: 24px; background: var(--light-bg); border-radius: var(--card-radius); }
.simu-tuiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 18px; }
.simu-tuile { background: #fff; border-radius: calc(var(--card-radius) / 1.5); padding: 18px 14px; text-align: center; border-top: 4px solid var(--primary-color); }
.simu-tuile strong { display: block; font-size: 1.9rem; line-height: 1.15; color: var(--dark-color); }
.simu-tuile span { display: block; font-size: 0.88rem; color: var(--gray-dark); margin-top: 6px; }
.simu-detail { font-size: 0.97rem; line-height: 1.7; color: var(--dark-color); }
.simu-detail p { margin-bottom: 10px; }
.simu-detail table { width: 100%; border-collapse: collapse; margin: 6px 0 14px; font-size: 0.93rem; }
.simu-detail th, .simu-detail td { text-align: left; padding: 7px 8px; border-bottom: 1px solid var(--simu-line); }
.simu-alerte { padding: 10px 14px; border-left: 4px solid #E67E22; background: #FFF6EC; border-radius: 4px; }
.simu-cta { display: inline-block; margin-top: 8px; background: var(--simu-cta); color: #fff !important; padding: 15px 34px; font-size: 1.1rem; font-weight: 700; border-radius: var(--btn-radius); text-decoration: none; }
.simu-cta:hover { filter: brightness(1.08); }
.simu-lien { color: var(--primary-texte); font-weight: 600; }
.simu-nojs { font-size: 0.95rem; color: var(--gray-dark); }
.simu-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--simu-line); border-radius: var(--card-radius); }
.simu-table { width: 100%; border-collapse: collapse; font-size: 0.93rem; min-width: 680px; background: #fff; }
.simu-table th, .simu-table td { padding: 9px 12px; border-bottom: 1px solid var(--simu-line); text-align: right; white-space: nowrap; }
.simu-table th:first-child, .simu-table td:first-child { text-align: left; white-space: normal; }
.simu-table thead th { background: var(--light-bg); font-size: 0.85rem; position: sticky; top: 0; }
.simu-table small { font-size: inherit; color: var(--gray-dark); }
.simu-table tbody th[colspan] { background: var(--light-bg); text-align: left; font-size: 1rem; color: var(--dark-color); }
.simu-marques { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 18px; font-size: 0.92rem; }
.simu-marques a { color: var(--primary-texte); text-decoration: none; }
.simu-prose { max-width: 820px; margin: 0 auto; color: var(--gray-dark); line-height: 1.8; font-size: 1.05rem; }
.simu-prose h2 { color: var(--dark-color); font-size: 1.7rem; line-height: 1.3; margin: 0 0 16px; }
.simu-prose p, .simu-prose ul { margin-bottom: 14px; }
.simu-prose ul { padding-left: 22px; }
.simu-prose table { width: 100%; border-collapse: collapse; margin: 8px 0 18px; font-size: 0.97rem; color: var(--dark-color); }
.simu-prose th, .simu-prose td { padding: 9px 10px; border-bottom: 1px solid rgba(0,0,0,0.1); text-align: left; }
@media (max-width: 640px) {
.simu { padding: 18px 16px; }
.simu-resultat { padding: 16px; }
.simu-tuile strong { font-size: 1.6rem; }
.simu-cta { display: block; text-align: center; }
}
body.e18ntk .simu { background: var(--paper-bg); border-color: var(--paper-line); box-shadow: 5px 5px 0 var(--ink); }
body.e18ntk .simu-resultat, body.e18ntk .simu-manuel { background: var(--paper-alt); }
body.n2f8z2 .simu { border-color: var(--line); }
body.n2f8z2 .simu-resultat { background: var(--tint); }
body.n2f8z2 .simu-tuile { border-top-color: var(--cta-bg); }
