/* v20260423
 * /simulateurs/simulateurs.css
 * Styles partages pour les simulateurs fiscaux publics.
 * Palette LOCAFIS Navy/Gold stricte.
 */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  color: #1e293b;
  background: #ffffff;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.simu-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ==========================================================================
   Navbar — style index.php racine
   ========================================================================== */
.simu-navbar {
  background: rgba(30, 41, 59, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: .7rem 0;
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(184,169,124,.15);
}
.simu-navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.simu-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.simu-logo-svg { width: 38px; height: 38px; flex-shrink: 0; }
.simu-brand-name {
  font-family: 'DM Sans', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 900;
  color: #b8a97c;
  letter-spacing: .05em;
  line-height: 1;
}
.simu-brand-sub {
  font-family: 'DM Sans', sans-serif;
  font-size: .6rem;
  color: rgba(255,255,255,.4);
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1;
  margin-top: 2px;
}
.simu-navbar-menu {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.simu-nav {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.simu-nav a {
  color: rgba(255,255,255,.75);
  text-decoration: none;
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: .02em;
  padding: .5rem .9rem;
  transition: color .2s;
}
.simu-nav a:hover { color: #b8a97c; }
.simu-nav a.simu-nav-active { color: #b8a97c; }
.simu-btn-nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid #b8a97c;
  color: #b8a97c;
  border-radius: 6px;
  padding: .45rem 1.1rem;
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-decoration: none;
  transition: all .2s;
}
.simu-btn-nav:hover {
  background: #b8a97c;
  color: #1e293b;
}

/* ==========================================================================
   Hero
   ========================================================================== */
.simu-hero {
  padding: 70px 0 50px;
  background: linear-gradient(135deg, #fef9ee 0%, #ffffff 100%);
}
.simu-hero .simu-eyebrow {
  display: inline-block;
  background: #e8dfc0;
  color: #8a7a52;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 16px;
}
.simu-hero h1 {
  font-family: 'DM Sans', Georgia, serif;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 16px;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.simu-hero .lead {
  font-size: 18px;
  color: #64748b;
  max-width: 720px;
  margin: 0 0 24px;
  line-height: 1.7;
}
.simu-hero .badges {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.simu-hero .badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #e8dfc0;
  color: #8a7a52;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
}
.simu-hero .badge i { color: #b8a97c; }

/* ==========================================================================
   Form
   ========================================================================== */
.simu-form-box {
  background: #fff;
  border: 1px solid #e8dfc0;
  border-radius: 16px;
  padding: 36px;
  margin: 24px 0;
  box-shadow: 0 8px 32px rgba(30,41,59,.06);
}
.simu-form-box h2 {
  font-family: 'DM Sans', Georgia, serif;
  font-size: 24px;
  margin: 0 0 6px;
  color: #1e293b;
}
.simu-form-box .subtitle {
  color: #64748b;
  font-size: 14px;
  margin: 0 0 22px;
}

.simu-grid2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.simu-field { margin-bottom: 16px; }
.simu-field label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #1e293b;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 6px;
}
.simu-field label .hint {
  text-transform: none;
  color: #94a3b8;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0;
  margin-left: 6px;
}
.simu-field input, .simu-field select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e2ddd4;
  border-radius: 10px;
  font-size: 15px;
  font-family: inherit;
  color: #1e293b;
  background: #fef9ee;
  transition: border-color .15s, background .15s;
}
.simu-field input:focus, .simu-field select:focus {
  outline: none;
  border-color: #b8a97c;
  background: #fff;
}
.simu-field .checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  cursor: pointer;
}
.simu-field .checkbox-row input[type="checkbox"] {
  width: auto;
  margin: 0;
  accent-color: #b8a97c;
}
.simu-field .checkbox-row span { color: #334155; font-size: 14px; }

.simu-submit {
  background: #1e293b;
  color: #b8a97c;
  border: none;
  padding: 14px 36px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  margin-top: 14px;
  transition: background .2s, transform .1s;
}
.simu-submit:hover { background: #334155; transform: translateY(-1px); }
.simu-submit:active { transform: translateY(0); }

/* ==========================================================================
   Results
   ========================================================================== */
.simu-result {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  border-radius: 16px;
  padding: 32px 36px;
  color: #fef9ee;
  margin: 24px 0;
  box-shadow: 0 8px 32px rgba(30,41,59,.15);
}
.simu-result h2 {
  font-family: 'DM Sans', Georgia, serif;
  color: #b8a97c;
  font-size: 22px;
  margin: 0 0 20px;
}
.simu-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin: 20px 0;
}
.simu-result-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(184,169,124,.2);
  border-radius: 12px;
  padding: 18px 20px;
}
.simu-result-card .lbl {
  color: rgba(184,169,124,.8);
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: .1em;
  font-weight: 700;
}
.simu-result-card .val {
  font-family: 'DM Sans', serif;
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  margin-top: 6px;
  line-height: 1.1;
}
.simu-result-card .val.gold { color: #b8a97c; }
.simu-result-card .val.green { color: #86efac; }
.simu-result-card .val.red { color: #fca5a5; }
.simu-result-card .sub {
  color: rgba(254,249,238,.6);
  font-size: 12px;
  margin-top: 4px;
}

.simu-result-explain {
  background: rgba(184,169,124,.1);
  border-left: 3px solid #b8a97c;
  padding: 16px 20px;
  border-radius: 8px;
  margin-top: 20px;
  color: rgba(254,249,238,.9);
  font-size: 14px;
  line-height: 1.6;
}
.simu-result-explain strong { color: #b8a97c; }

/* ==========================================================================
   Sections / Cards
   ========================================================================== */
.simu-section { padding: 48px 0; }
.simu-section h2 {
  font-family: 'DM Sans', Georgia, serif;
  font-size: 32px;
  color: #1e293b;
  margin: 0 0 12px;
  letter-spacing: -.01em;
}
.simu-section .lead {
  color: #64748b;
  font-size: 16px;
  margin: 0 0 32px;
  max-width: 720px;
}

.simu-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.simu-card {
  background: #fff;
  border: 1px solid #e8dfc0;
  border-radius: 14px;
  padding: 28px;
  text-decoration: none;
  color: inherit;
  transition: transform .15s, box-shadow .15s, border-color .15s;
  display: block;
}
.simu-card:hover {
  transform: translateY(-3px);
  border-color: #b8a97c;
  box-shadow: 0 12px 32px rgba(30,41,59,.1);
}
.simu-card .icon {
  width: 48px;
  height: 48px;
  background: #1e293b;
  color: #b8a97c;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 16px;
}
.simu-card h3 {
  font-family: 'DM Sans', Georgia, serif;
  color: #1e293b;
  font-size: 19px;
  margin: 0 0 8px;
  font-weight: 700;
}
.simu-card p {
  color: #64748b;
  font-size: 14px;
  margin: 0 0 12px;
  line-height: 1.55;
}
.simu-card .go {
  color: #b8a97c;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.simu-faq { background: #fff; }
.simu-faq h2 { margin-bottom: 24px; }
.simu-faq details {
  background: #fef9ee;
  border: 1px solid #e8dfc0;
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 12px;
  cursor: pointer;
}
.simu-faq details[open] { background: #fff; border-color: #b8a97c; }
.simu-faq summary {
  font-family: 'DM Sans', Georgia, serif;
  font-weight: 700;
  color: #1e293b;
  list-style: none;
  font-size: 17px;
  position: relative;
  padding-right: 28px;
}
.simu-faq summary::-webkit-details-marker { display: none; }
.simu-faq summary::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 0;
  color: #b8a97c;
  font-size: 22px;
  font-weight: 700;
  transition: transform .2s;
}
.simu-faq details[open] summary::after { content: '−'; }
.simu-faq details p {
  color: #64748b;
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.7;
}

/* ==========================================================================
   CTA capture email
   ========================================================================== */
.simu-capture { padding: 60px 0; background: #ffffff; }
.simu-capture-box {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  border-radius: 20px;
  padding: 48px;
  text-align: center;
  color: #fef9ee;
}
.simu-capture-box h2 {
  font-family: 'DM Sans', Georgia, serif;
  color: #b8a97c;
  font-size: 28px;
  margin: 0 0 12px;
}
.simu-capture-box p {
  color: rgba(254,249,238,.85);
  font-size: 15px;
  max-width: 620px;
  margin: 0 auto 24px;
}
.simu-capture-hint {
  font-size: 12px;
  color: rgba(184,169,124,.65) !important;
  margin-top: 16px !important;
}
.simu-btn-gold {
  display: inline-block;
  background: #b8a97c;
  color: #1e293b;
  text-decoration: none;
  padding: 14px 34px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .04em;
  transition: background .2s, transform .1s;
}
.simu-btn-gold:hover { background: #d4c49a; transform: translateY(-1px); }

/* ==========================================================================
   Footer
   ========================================================================== */
.simu-footer {
  background: #1e293b;
  color: rgba(254,249,238,.75);
  padding: 40px 0 20px;
  margin-top: 40px;
}
.simu-footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 32px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(184,169,124,.15);
}
.simu-footer h4 {
  color: #b8a97c;
  font-family: 'DM Sans', Georgia, serif;
  font-size: 15px;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.simu-footer a {
  display: block;
  color: rgba(254,249,238,.7);
  text-decoration: none;
  font-size: 13px;
  margin-bottom: 6px;
  transition: color .15s;
}
.simu-footer a:hover { color: #b8a97c; }
.simu-footer p { color: rgba(254,249,238,.65); font-size: 13px; margin: 0; }
.simu-footer-legal {
  padding-top: 20px;
  font-size: 11px;
  color: rgba(254,249,238,.5);
  text-align: center;
}

@media (max-width: 720px) {
  .simu-header .simu-container { flex-direction: column; align-items: flex-start; }
  .simu-nav { justify-content: flex-start; }
  .simu-hero { padding: 40px 0 24px; }
  .simu-form-box { padding: 24px; }
  .simu-capture-box { padding: 32px 20px; }
}

/* ==========================================================================
   Chiffres monetaires : tabular mono (stack systeme, DM Sans ailleurs)
   ========================================================================== */
.simu-result-card .val,
.simu-kpi .val,
.cmp-val-big,
.cmp-val,
.simu-total,
.simu-amount {
  font-family: 'JetBrains Mono', 'SF Mono', 'Roboto Mono', Menlo, Consolas, 'Courier New', monospace !important;
  font-variant-numeric: tabular-nums !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  font-feature-settings: 'tnum' 1 !important;
}
