/* Simulateur de financement - palettes : pal-0 encre et citron (défaut), pal-1 ivoire et citron, pal-2 lavande, pal-3 sable et corail. */
.sm{--lime:#C6FF4E;--lime-2:#B4F02E;--night:#101828;
  --r-bg:#101828;--r-bd:transparent;--r-tx:#fff;--r-tx2:#D0D5DD;--r-mu:#98A2B3;--r-acc:#C6FF4E;--r-line:#1F2A3D;--r-step:#1F2A3D;--r-stepc:#C6FF4E;
  --cta-bg:#C6FF4E;--cta-tx:#101828;--cta-hv:#B4F02E;--sel-bg:#F5FFE3;--sel-bd:#101828;--box-bg:#C6FF4E;--box-mk:#101828;--n-bg:#101828;--n-tx:#C6FF4E;
  --warn-bg:#3A2A0A;--warn-tx:#FEDF89;--link:#C6FF4E;--sel-ink:#3A5A00;--r-shadow:0 24px 60px #10182833;
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:start}
.sm.pal-1{--r-bg:#FBFBF4;--r-bd:#E6E8D6;--r-tx:#101828;--r-tx2:#344054;--r-mu:#667085;--r-acc:#101828;--r-line:#E9EBDC;--r-step:#101828;--r-stepc:#C6FF4E;
  --cta-bg:#101828;--cta-tx:#C6FF4E;--cta-hv:#1D2939;--warn-bg:#FEF0C7;--warn-tx:#93370D;--link:#3A5A00;--r-shadow:0 24px 60px #10182814}
.sm.pal-2{--r-bg:#F4F3FF;--r-bd:#E1DCFF;--r-tx:#1D1449;--r-tx2:#3E3770;--r-mu:#6E6A94;--r-acc:#5925DC;--r-line:#E1DCFF;--r-step:#E1DCFF;--r-stepc:#5925DC;
  --cta-bg:#5925DC;--cta-tx:#fff;--cta-hv:#4A1FC0;--sel-bg:#F4F3FF;--sel-bd:#7A5AF8;--box-bg:#7A5AF8;--box-mk:#fff;--n-bg:#5925DC;--n-tx:#fff;
  --warn-bg:#FEF0C7;--warn-tx:#93370D;--link:#5925DC;--sel-ink:#5925DC;--r-shadow:0 24px 60px #5925DC1f}
.sm.pal-3{--r-bg:#FBF6EF;--r-bd:#F0E4D4;--r-tx:#2A1F14;--r-tx2:#4A3B2A;--r-mu:#8A7A66;--r-acc:#E0573A;--r-line:#F0E4D4;--r-step:#F7E3D6;--r-stepc:#E0573A;
  --cta-bg:#E0573A;--cta-tx:#fff;--cta-hv:#C9472C;--sel-bg:#FFF3EC;--sel-bd:#E0573A;--box-bg:#E0573A;--box-mk:#fff;--n-bg:#2A1F14;--n-tx:#FBF6EF;
  --warn-bg:#FEF0C7;--warn-tx:#93370D;--link:#C9472C;--sel-ink:#C9472C;--r-shadow:0 24px 60px #E0573A1f}
.sm-form{display:flex;flex-direction:column;gap:22px}
.sm-step{position:relative;border:1px solid var(--line);border-radius:22px;padding:22px 22px 22px 66px;margin:0;background:#fff;min-width:0}
.sm-n{position:absolute;left:20px;top:20px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--n-bg);color:var(--n-tx);font-weight:800;font-size:14px}
.sm-step>label,.sm-step legend{display:flex;flex-direction:column;gap:8px;font-weight:800;font-size:15px;color:var(--ink);padding:0}
.sm-step legend{float:left;width:100%;margin-bottom:12px;flex-direction:row;align-items:baseline;gap:8px}
.sm-step legend small{font-weight:600;color:var(--sel-ink);font-size:13px}
.sm-step select{width:100%}
.sm-radios{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sm-radios label{position:relative;cursor:pointer}
.sm-radios input{position:absolute;opacity:0;pointer-events:none}
.sm-radios span{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 14px;border:1px solid var(--line-2);border-radius:14px;font-weight:700;font-size:14px;color:var(--ink-2);transition:border-color .15s,background .15s}
.sm-radios small{font-weight:500;font-size:12px;color:var(--muted-2)}
.sm-radios input:checked+span{border-color:var(--sel-bd);background:var(--sel-bg);box-shadow:inset 0 0 0 1px var(--sel-bd)}
.sm-radios input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.sm-list{clear:both;display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto;padding:2px}
.sm-f{position:relative;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s}
.sm-f:hover{border-color:var(--line-2)}
.sm-f input{position:absolute;opacity:0;pointer-events:none}
.sm-box{flex:0 0 22px;height:22px;border-radius:7px;border:1.5px solid var(--line-2);background:#fff;display:grid;place-items:center;margin-top:1px;transition:all .15s}
.sm-box::after{content:"";width:10px;height:6px;border-left:2.5px solid var(--box-mk);border-bottom:2.5px solid var(--box-mk);transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.sm-f input:checked~.sm-box{background:var(--box-bg);border-color:var(--sel-bd)}
.sm-f input:checked~.sm-box::after{opacity:1}
.sm-f:has(input:checked){border-color:var(--sel-bd);background:var(--sel-bg)}
.sm-f input:focus-visible~.sm-box{outline:2px solid var(--blue);outline-offset:2px}
.sm-ft{display:flex;flex-direction:column;gap:3px;font-weight:700;font-size:14px;line-height:1.35;color:var(--ink)}
.sm-ft small{font-weight:500;font-size:12px;color:var(--muted-2)}
.sm-empty{margin:0;color:var(--muted);font-size:14px}
.sm-other{clear:both;margin-top:12px}
.sm-other summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--ink-2)}
.sm-other-grid{display:grid;gap:10px;margin-top:12px}
.sm-other-grid label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--ink-2)}
.sm-other-grid span{display:flex;align-items:center;gap:6px;font-weight:700}
.sm-other-grid input{width:84px}
/* Résultat */
.sm-res{position:sticky;top:96px;background:var(--r-bg);color:var(--r-tx2);border:1px solid var(--r-bd);border-radius:26px;padding:30px;box-shadow:var(--r-shadow);transition:background .3s}
.sm-res a:not(.sm-cta){color:var(--link)}
.sm-k{margin:0 0 6px;font-weight:700;font-size:14px;color:var(--r-mu)}
.sm-k2{margin:22px 0 10px;font-weight:800;color:var(--r-tx)}
.sm-big{font-size:46px;font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--r-acc)}
.sm-dim{color:var(--r-mu);opacity:.6}
.sm-hint{color:var(--r-mu);font-size:14px}
.sm-fins{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 4px}
.sm-fins .chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.sm-price{display:flex;align-items:baseline;gap:10px;margin:10px 0 2px;font-size:14px;color:var(--r-mu)}
.sm-price s{color:var(--r-mu);text-decoration-thickness:2px;text-decoration-color:#F97066}
.sm-price b{color:var(--r-tx);font-size:16px}
.sm-zero{font-size:13px;font-weight:700;color:var(--r-acc)}
.sm-rows{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.sm-rows li{display:flex;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--r-line);font-size:14px;color:var(--r-tx);font-weight:600}
.sm-rows small{display:block;font-weight:500;font-size:12px;color:var(--r-mu);margin-top:2px}
.sm-rows b{white-space:nowrap;color:var(--r-acc)}
.sm-dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:16px 0 0;font-size:14px}
.sm-dl dt{color:var(--r-mu)}.sm-dl dd{margin:0;font-weight:700;text-align:right;color:var(--r-tx)}
.sm-dl+.sm-p,.sm-fins+.sm-p{margin-top:16px}
.sm-p{font-size:14.5px;line-height:1.6;color:var(--r-tx2)}
.sm-p strong{color:var(--r-tx)}
.sm-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sm-steps li{counter-increment:s;position:relative;padding-left:34px;font-size:14px;line-height:1.5;color:var(--r-tx2)}
.sm-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--r-step);color:var(--r-stepc);font-size:12px;font-weight:800;display:grid;place-items:center}
.sm-cta{display:flex;justify-content:center;align-items:center;text-align:center;gap:8px;margin-top:22px;padding:15px 20px;border-radius:14px;background:var(--cta-bg);color:var(--cta-tx);font-weight:800;text-decoration:none;transition:transform .15s,background .15s}
.sm-cta:hover{background:var(--cta-hv);transform:translateY(-1px)}
.sm-warn{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:var(--warn-bg);color:var(--warn-tx);font-size:13px}
.sm-note{font-size:12.5px;color:var(--r-mu);margin:16px 0 0}
.sm-bar{display:none}
@media(max-width:900px){.sm{grid-template-columns:1fr}.sm-res{position:static;scroll-margin-top:90px}
.sm-bar:not([hidden]){display:flex;justify-content:space-between;align-items:center;gap:12px;position:fixed;left:12px;right:12px;bottom:12px;z-index:50;padding:14px 18px;border-radius:16px;background:var(--cta-bg);color:var(--cta-tx);text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 12px 30px #10182855}
.sm-bar b{font-size:18px}}
@media(max-width:560px){.sm-radios{grid-template-columns:1fr}.sm-step{padding:18px 16px 18px 56px}.sm-n{left:14px;top:16px}.sm-big{font-size:38px}.sm-res{padding:24px 20px}}
/* Choix de palette (visible uniquement pour les administrateurs connectés) */
.sm-pal{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;display:flex;gap:6px;align-items:center;padding:6px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px #1018282e;font-size:13px}
.sm-pal b{padding:0 8px 0 10px;color:var(--muted)}
.sm-pal button{display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:7px 12px;border-radius:999px;font:inherit;font-weight:700;color:var(--ink-2);cursor:pointer}
.sm-pal button i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001a}
.sm-pal button[aria-pressed=true]{background:var(--ink);color:#fff}
@media(max-width:700px){.sm-pal{bottom:84px;max-width:calc(100% - 24px);overflow:auto}.sm-pal b{display:none}}
