/* LMNP Essentiel — Générateur 1447-C-SD
 * Présentation volontairement proche de l'ancien outil LMNP.blog :
 * formulaire vertical, sections blanches, lecture simple et bouton pleine largeur.
 */
.lmnpe-1447c {
  --navy:#06275f;
  --blue:#078fe3;
  --blue-dark:#0069bd;
  --teal:#10b99a;
  --teal-dark:#08aa8d;
  --bg:#f7f9fb;
  --line:#d8e3ec;
  --muted:#62758a;
  box-sizing:border-box;
  width:min(100%, 820px);
  margin:24px auto 48px;
  padding:24px;
  border:1px solid #e1e8ee;
  border-radius:14px;
  background:var(--bg);
  color:var(--navy);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}
.lmnpe-1447c *, .lmnpe-1447c *::before, .lmnpe-1447c *::after { box-sizing:border-box; }
.lmnpe-1447c__intro { margin:0 0 22px; text-align:left; }
.lmnpe-1447c__eyebrow { display:inline-block; margin:0 0 8px; color:var(--blue-dark); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.045em; }
.lmnpe-1447c__intro h1 { margin:0 0 10px; color:var(--navy); font-size:clamp(27px,4vw,38px); line-height:1.15; letter-spacing:-.5px; }
.lmnpe-1447c__intro p { margin:0; color:#38536f; font-size:15px; line-height:1.6; }
.lmnpe-1447c__notice { display:block; margin:0 0 22px; padding:14px 16px; border:1px solid #bfe5f8; border-radius:8px; background:#eef8fd; color:#244866; font-size:14px; line-height:1.55; }
.lmnpe-1447c__notice strong { color:var(--blue-dark); margin-right:4px; }
.lmnpe-card { margin:0 0 20px; padding:22px; border:1px solid #e1e6eb; border-radius:10px; background:#fff; box-shadow:0 2px 7px rgba(6,39,95,.07); }
.lmnpe-card__heading { display:flex; gap:12px; align-items:flex-start; margin:0 0 20px; padding:0 0 14px; border-bottom:1px solid #edf1f4; }
.lmnpe-step { display:flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:var(--blue); color:#fff; font-size:14px; font-weight:800; }
.lmnpe-card__heading h2 { margin:0 0 3px; color:var(--blue-dark); font-size:22px; line-height:1.25; }
.lmnpe-card__heading p { margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
/* Comme l'ancien générateur : une question par ligne. */
.lmnpe-grid, .lmnpe-grid--2 { display:grid; grid-template-columns:1fr !important; gap:0; }
.lmnpe-field, .lmnpe-field--full { display:block; grid-column:auto !important; width:100%; margin:0 0 15px; }
.lmnpe-field > span { display:block; margin:0 0 6px; color:#142f4e; font-size:14px; font-weight:700; line-height:1.35; }
.lmnpe-field b { color:#d64545; }
.lmnpe-field small { display:block; margin-top:5px; color:var(--muted); font-size:12px; line-height:1.4; }
.lmnpe-field input, .lmnpe-field select { display:block; width:100% !important; min-height:44px; margin:0 !important; padding:10px 12px !important; border:1px solid #c7d2dc !important; border-radius:5px !important; background:#fff !important; color:#152f4d !important; font:inherit !important; font-size:15px !important; line-height:1.4 !important; box-shadow:none !important; outline:none; }
.lmnpe-field select { height:44px; }
.lmnpe-field input:focus, .lmnpe-field select:focus { border-color:var(--blue) !important; box-shadow:0 0 0 3px rgba(7,143,227,.10) !important; }
.lmnpe-money { display:flex; width:100%; align-items:stretch; }
.lmnpe-money input { flex:1 1 auto; border-radius:5px 0 0 5px !important; }
.lmnpe-money > span { display:flex; align-items:center; justify-content:center; min-width:52px; padding:0 10px; border:1px solid #c7d2dc; border-left:0; border-radius:0 5px 5px 0; background:#f4f6f8; color:#435d74; font-size:13px; font-weight:700; }
.lmnpe-conditional { margin:5px 0 17px; padding:18px; border:1px solid #cfe4f1; border-radius:8px; background:#f6fbfe; }
.lmnpe-conditional[hidden] { display:none !important; }
.lmnpe-conditional h3 { margin:0 0 14px; color:var(--blue-dark); font-size:16px; }
.lmnpe-submit { display:block; padding:20px; border-radius:10px; background:#fff; border:1px solid #e1e6eb; box-shadow:0 2px 7px rgba(6,39,95,.07); color:var(--navy); }
.lmnpe-submit > div { margin-bottom:14px; }
.lmnpe-submit strong { display:block; margin-bottom:3px; font-size:15px; }
.lmnpe-submit > div span { display:block; color:var(--muted); font-size:12px; line-height:1.45; }
.lmnpe-button { display:flex !important; align-items:center; justify-content:center; gap:8px; width:100% !important; min-height:50px; margin:0 !important; padding:13px 20px !important; border:0 !important; border-radius:6px !important; background:var(--teal) !important; color:#fff !important; font:inherit !important; font-size:16px !important; font-weight:800 !important; cursor:pointer; box-shadow:none !important; }
.lmnpe-button:hover { background:var(--teal-dark) !important; }
.lmnpe-form-error { margin-top:14px; padding:12px 14px; border:1px solid #efb9b6; border-radius:6px; background:#fff2f1; color:#932b25; font-size:13px; font-weight:650; }
.lmnpe-form-error[hidden] { display:none !important; }
@media (max-width:640px) {
  .lmnpe-1447c { margin:12px auto 32px; padding:14px; border-radius:10px; }
  .lmnpe-card { padding:16px; }
  .lmnpe-card__heading h2 { font-size:20px; }
  .lmnpe-1447c__intro h1 { font-size:28px; }
}
