/* =====================================================================
   homeselect. — simulateur de financement (préfixe fi-)
   ===================================================================== */
.fi{--fi-card:rgba(255,255,255,.66);--fi-line:rgba(11,13,18,.07);--fi-track:rgba(11,13,18,.09);--fi-field:rgba(255,255,255,.75);
  --fi-ok:#2f9e5b;--fi-ok-soft:rgba(47,158,91,.12);--fi-warn:#d4881c;--fi-warn-soft:rgba(212,136,28,.13);--fi-ko:#d0453a;--fi-ko-soft:rgba(208,69,58,.11);
  --fi-c0:var(--accent);--fi-c1:var(--ink);--fi-c2:#9aa0ad;
  container-type:inline-size;color:var(--ink);font-variant-numeric:tabular-nums;position:relative}
[data-theme=dark] .fi{--fi-card:rgba(255,255,255,.05);--fi-line:rgba(255,255,255,.08);--fi-track:rgba(255,255,255,.12);--fi-field:rgba(255,255,255,.07);
  --fi-ok:#5fd08a;--fi-ok-soft:rgba(95,208,138,.13);--fi-warn:#f0a944;--fi-warn-soft:rgba(240,169,68,.14);--fi-ko:#ff7a6e;--fi-ko-soft:rgba(255,122,110,.13);--fi-c2:#6b7180}

/* bandeau confidentialité */
.fi-privacy{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-md,16px);background:var(--accent-soft);color:var(--ink-2);font-size:13px;line-height:1.5;margin-bottom:16px}
.fi-privacy svg{flex-shrink:0;stroke:var(--accent);margin-top:1px}
.fi-privacy b{color:var(--ink);font-weight:600}

/* annonce */
.fi-strip{display:flex;align-items:center;gap:14px;padding:10px;border-radius:18px;background:var(--fi-card);box-shadow:inset 0 0 0 1px var(--fi-line);margin-bottom:14px;flex-wrap:wrap}
.fi-ph{width:84px;height:64px;border-radius:12px;background:#ddd center/cover;flex-shrink:0}
.fi-st{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.fi-st b{font-size:17px;letter-spacing:-.03em}
.fi-st b small{font-size:12px;font-weight:500;color:var(--ink-3)}
.fi-st span{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-link{font-size:12.5px;font-weight:600;color:var(--accent);padding:6px 4px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:transparent;transition:text-decoration-color .2s}
.fi-link:hover{text-decoration-color:currentColor}
.fi-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:var(--fi-warn-soft);font-size:13px;line-height:1.5;color:var(--ink-2);margin-bottom:16px}
.fi-note svg{flex-shrink:0;stroke:var(--fi-warn);margin-top:1px}
.fi-note b{color:var(--ink)}
.fi-favs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;font-size:12.5px;color:var(--ink-3)}
.fi-favs span{margin-right:4px}
.fi-favs button{height:30px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--fi-card);box-shadow:inset 0 0 0 1px var(--fi-line);transition:transform .3s var(--spring),background .2s}
.fi-favs button:hover{color:var(--ink)}
.fi-favs button:active{transform:scale(.96)}

/* grille */
.fi-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
@container (min-width:740px){
  .fi-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px}
  .fi-sticky{display:none!important}
}

/* entrées */
.fi-in{display:flex;flex-direction:column;gap:12px}
.fi-grp{padding:16px 16px 6px;border-radius:20px;background:var(--fi-card);box-shadow:inset 0 0 0 1px var(--fi-line)}
.fi-grp h4{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px}
.fi-grp h4 span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--on-ink);font-size:11.5px;letter-spacing:0}
.fi-adv{padding-bottom:12px}
.fi-adv summary{list-style:none;cursor:pointer}
.fi-adv summary::-webkit-details-marker{display:none}
.fi-adv summary h4{margin:0}
.fi-adv summary h4::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translateY(-3px);transition:transform .3s var(--ease)}
.fi-adv[open] summary h4::after{transform:rotate(-135deg) translateY(-2px)}
.fi-adv[open] summary{margin-bottom:12px}
.fi-adv h4 span{background:var(--accent)}

.fi-f{margin-bottom:12px}
.fi-fh{display:flex;align-items:center;gap:6px;min-height:36px}
.fi-fh label{font-size:13.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.fi-sub .fi-fh label{font-weight:500;color:var(--ink-2);padding-left:12px;position:relative}
.fi-sub .fi-fh label::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-left:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:translateY(-70%);border-bottom-left-radius:2px}
.fi-val{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 10px;border-radius:12px;background:var(--fi-field);box-shadow:inset 0 0 0 1px var(--fi-line);transition:box-shadow .2s,background .2s;flex-shrink:0}
.fi-val:focus-within{box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px var(--accent-soft)}
.fi-val input{width:96px;border:0;background:none;outline:none;text-align:right;font-size:15px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.fi-val i{font-style:normal;font-size:11.5px;font-weight:500;color:var(--ink-3);white-space:nowrap}
.fi-hint{font-size:12px;color:var(--ink-3);line-height:1.4;margin-top:2px}
.fi-split{font-size:12px;line-height:1.55;color:var(--ink-3);margin:-2px 0 12px}
.fi-split b{color:var(--ink-2);font-weight:600}

/* curseurs */
.fi-range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:2px 0 0;cursor:pointer;display:block;--p:50%}
.fi-range:focus{outline:none}
.fi-range::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--accent) 0,var(--accent) var(--p),var(--fi-track) var(--p))}
.fi-range::-moz-range-track{height:6px;border-radius:6px;background:var(--fi-track)}
.fi-range::-moz-range-progress{height:6px;border-radius:6px;background:var(--accent)}
.fi-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:#fff;border:0;
  box-shadow:0 0 0 .5px rgba(11,13,18,.12),0 3px 10px rgba(11,13,18,.22),inset 0 0 0 6px #fff,inset 0 0 0 12px var(--accent);transition:transform .3s var(--spring)}
.fi-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 .5px rgba(11,13,18,.12),0 3px 10px rgba(11,13,18,.22),inset 0 0 0 6px #fff,inset 0 0 0 12px var(--accent)}
.fi-range:hover::-webkit-slider-thumb{transform:scale(1.08)}
.fi-range:active::-webkit-slider-thumb{transform:scale(1.18)}
.fi-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px var(--accent-soft),0 3px 10px rgba(11,13,18,.22),inset 0 0 0 6px #fff,inset 0 0 0 12px var(--accent)}
.fi-sub .fi-range::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--ink-3) 0,var(--ink-3) var(--p),var(--fi-track) var(--p))}
.fi-sub .fi-range::-moz-range-progress{background:var(--ink-3)}
.fi-sub .fi-range::-webkit-slider-thumb{box-shadow:0 0 0 .5px rgba(11,13,18,.12),0 3px 10px rgba(11,13,18,.2),inset 0 0 0 6px #fff,inset 0 0 0 12px var(--ink-3)}

.fi-sel{margin-left:auto;height:36px;border-radius:12px;border:0;padding:0 30px 0 12px;font:600 14px Inter,sans-serif;color:var(--ink);background:var(--fi-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a7f8c' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center;
  -webkit-appearance:none;appearance:none;box-shadow:inset 0 0 0 1px var(--fi-line);outline:none;cursor:pointer;max-width:60%}
.fi-sel:focus-visible{box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px var(--accent-soft)}
[data-theme=dark] .fi-sel option{background:#1b1e24;color:#f2f3f5}

/* interrupteurs */
.fi-tog{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;font-weight:500;color:var(--ink-2);cursor:pointer;margin:2px 0 14px;user-select:none}
.fi-tog input{position:absolute;opacity:0;pointer-events:none}
.fi-tog i{width:38px;height:22px;border-radius:22px;background:var(--fi-track);position:relative;flex-shrink:0;transition:background .25s}
.fi-tog i::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:transform .35s var(--spring)}
.fi-tog input:checked+i{background:var(--accent)}
.fi-tog input:checked+i::after{transform:translateX(16px)}
.fi-tog input:focus-visible+i{box-shadow:0 0 0 4px var(--accent-soft)}
.fi-sess{margin:4px 2px 0}
.fi-sess span{display:flex;flex-direction:column;gap:2px;line-height:1.3}
.fi-sess small{font-size:11.5px;color:var(--ink-3)}
.fi-spouse[hidden]{display:none}

/* bulles d'aide */
.fi-q{width:18px;height:18px;border-radius:50%;flex-shrink:0;display:inline-grid;place-items:center;font-size:11px;font-weight:700;line-height:1;color:var(--ink-3);box-shadow:inset 0 0 0 1.3px currentColor;transition:color .2s,background .2s;vertical-align:middle}
.fi-q:hover,.fi-q:focus-visible{color:var(--accent);background:var(--accent-soft);outline:none}
.fi-tipbox{position:fixed;z-index:95;padding:11px 13px;border-radius:14px;font-size:12.5px;line-height:1.5;font-weight:500;color:#fff;background:rgba(11,13,18,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 14px 40px -10px rgba(0,0,0,.45);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .2s,transform .25s var(--ease)}
.fi-tipbox.on{opacity:1;transform:none}
[data-theme=dark] .fi-tipbox{background:rgba(242,243,245,.95);color:#0b0d12}

/* résultats */
.fi-out{display:flex;flex-direction:column;gap:12px;min-width:0}
.fi-card{padding:16px;border-radius:20px;background:var(--fi-card);box-shadow:inset 0 0 0 1px var(--fi-line);min-width:0}
.fi-k{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.fi-big{display:block;font-size:30px;font-weight:700;letter-spacing:-.045em;line-height:1.1}
.fi-big small{font-size:14px;font-weight:500;color:var(--ink-3);letter-spacing:-.01em}
.fi-mid{display:block;font-size:22px;font-weight:700;letter-spacing:-.035em}
.fi-small{font-size:12.5px;line-height:1.5;color:var(--ink-3);margin-top:6px}
.fi-small b{color:var(--ink-2)}

.fi-verdict{display:flex;gap:12px;padding:16px;border-radius:20px;background:var(--fi-card);box-shadow:inset 0 0 0 1px var(--fi-line);font-size:13px;line-height:1.5;color:var(--ink-2);transition:background .3s}
.fi-verdict>div>b{display:block;font-size:16px;letter-spacing:-.02em;color:var(--ink);margin-bottom:2px}
.fi-vi{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--fi-track);color:var(--ink-2)}
.fi-verdict.ok{background:var(--fi-ok-soft);box-shadow:none}.fi-verdict.ok .fi-vi{background:var(--fi-ok);color:#fff}
.fi-verdict.warn{background:var(--fi-warn-soft);box-shadow:none}.fi-verdict.warn .fi-vi{background:var(--fi-warn);color:#fff}
.fi-verdict.ko{background:var(--fi-ko-soft);box-shadow:none}.fi-verdict.ko .fi-vi{background:var(--fi-ko);color:#fff}
.fi-vd ul{margin:4px 0 0 16px}
.fi-vd li{margin:2px 0}
.fi-vd p{margin-top:6px}
.fi-vd b{color:var(--ink)}

.fi-kpis,.fi-two{display:grid;grid-template-columns:1fr;gap:12px}
@container (min-width:520px){ .fi-kpis,.fi-two{grid-template-columns:1fr 1fr} }
@container (min-width:740px){ .fi-kpis,.fi-two{grid-template-columns:1fr} }
@container (min-width:1060px){ .fi-kpis,.fi-two{grid-template-columns:1fr 1fr} }
.fi-kpi{display:flex;flex-direction:column}
.fi-max{background:linear-gradient(140deg,var(--accent-soft),transparent 70%),var(--fi-card)}
.fi-max .fi-big{font-family:var(--serif);font-style:italic;font-weight:400;font-size:36px;letter-spacing:-.02em}
.fi-max .fi-small{flex:1}
.fi-btn{height:46px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;font-size:14px;font-weight:600;
  background:var(--ink);color:var(--on-ink);box-shadow:0 10px 24px -10px rgba(11,13,18,.5);transition:transform .35s var(--spring),opacity .2s}
.fi-btn:active{transform:scale(.97)}
.fi-btn:disabled{opacity:.4;pointer-events:none}
.fi-btn.fi-sm{height:38px;font-size:13px;margin-top:12px;align-self:flex-start}
.fi-btn.fi-ghost{background:var(--fi-field);color:var(--ink);box-shadow:inset 0 0 0 1px var(--fi-line)}

.fi-stack{display:flex;height:10px;border-radius:10px;overflow:hidden;margin:14px 0 10px;gap:2px;background:var(--fi-track)}
.fi-stack i{flex:1 1 0;min-width:0;transition:flex-grow .5s var(--ease)}
.fi-stack i:nth-child(1){background:var(--fi-c0)}.fi-stack i:nth-child(2){background:var(--fi-c1)}.fi-stack i:nth-child(3){background:var(--fi-c2)}
.fi-leg{list-style:none;display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--ink-2)}
.fi-leg li{display:flex;align-items:center;gap:8px}
.fi-leg li b{margin-left:auto;font-weight:600;color:var(--ink)}
.fi-leg li em{font-style:normal;color:var(--ink-3);width:38px;text-align:right}
.fi-leg i{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.fi-leg .c0,.fi-leg .d0{background:var(--fi-c0)}.fi-leg .c1,.fi-leg .d1{background:var(--fi-c1)}.fi-leg .c2,.fi-leg .d2{background:var(--fi-c2)}
.fi-cmp{font-size:12.5px;line-height:1.5;color:var(--ink-3);margin-top:10px;padding-top:10px;border-top:1px solid var(--fi-line)}
.fi-cmp b{color:var(--ink-2)}

/* jauge */
.fi-gauge{display:flex;flex-direction:column}
.fi-gauge svg{width:100%;max-width:240px;margin:0 auto;overflow:visible}
.fi-gauge path{fill:none;stroke-width:14;stroke-linecap:butt}
.g-z1{stroke:var(--fi-ok);opacity:.22}.g-z2{stroke:var(--fi-warn);opacity:.26}.g-z3{stroke:var(--fi-ko);opacity:.22}
.fi-gauge .g-val{stroke-width:14;stroke-linecap:round;transition:stroke .3s}
.g-val.ok{stroke:var(--fi-ok)}.g-val.warn{stroke:var(--fi-warn)}.g-val.ko{stroke:var(--fi-ko)}
.g-dot{fill:#fff;stroke-width:4;transition:stroke .3s}
.g-dot.ok{stroke:var(--fi-ok)}.g-dot.warn{stroke:var(--fi-warn)}.g-dot.ko{stroke:var(--fi-ko)}
.fi-gv{text-align:center;margin-top:-50px;min-height:50px}
.fi-gv b{display:block;font-size:28px;font-weight:700;letter-spacing:-.04em;line-height:1.1}
.fi-gv b.ok{color:var(--fi-ok)}.fi-gv b.warn{color:var(--fi-warn)}.fi-gv b.ko{color:var(--fi-ko)}
.fi-gv span{font-size:12px;font-weight:600;color:var(--ink-3)}
.fi-gauge .fi-small{text-align:center;margin-top:10px}

/* donut */
.fi-dw{position:relative;width:150px;height:150px;margin:2px auto 12px}
.fi-dw svg{width:100%;height:100%;transform:rotate(-90deg)}
.fi-dw circle{fill:none;stroke-width:14;transition:stroke-dasharray .55s var(--ease),stroke-dashoffset .55s var(--ease)}
.d-bg{stroke:var(--fi-track)}.d-s1{stroke:var(--fi-c0)}.d-s2{stroke:var(--fi-c1)}.d-s3{stroke:var(--fi-c2)}
.fi-dc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fi-dc span{font-size:11px;color:var(--ink-3);font-weight:600}
.fi-dc b{font-size:24px;font-weight:700;letter-spacing:-.04em}

/* lignes */
.fi-rows{display:flex;flex-direction:column}
.fi-r{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:13.5px;color:var(--ink-2);border-bottom:1px solid var(--fi-line)}
.fi-r:last-child{border-bottom:0}
.fi-r b{margin-left:auto;font-weight:600;color:var(--ink);white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.fi-r b em{font-style:normal;font-weight:500;color:var(--ink-3);font-size:12px}
.fi-r.fi-strong span,.fi-r.fi-strong b{font-weight:700;color:var(--ink)}
.fi-r.fi-mute,.fi-r.fi-mute b{color:var(--ink-3);font-weight:500}
.fi-pill{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.fi-pill.ok{background:var(--fi-ok-soft);color:var(--fi-ok)}.fi-pill.warn{background:var(--fi-warn-soft);color:var(--fi-warn)}.fi-pill.ko{background:var(--fi-ko-soft);color:var(--fi-ko)}

/* CTA & formulaire */
.fi-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.fi-ctas .fi-btn{flex:1 1 220px}
.fi-form[hidden]{display:none}
.fi-form{animation:fiIn .35s var(--ease)}
@keyframes fiIn{from{opacity:0;transform:translateY(6px)}}
.fi-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.fi-in2{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2)}
.fi-in2 input{height:44px;border-radius:12px;border:0;padding:0 13px;font-size:14.5px;color:var(--ink);background:var(--fi-field);box-shadow:inset 0 0 0 1px var(--fi-line);outline:none}
.fi-in2 input:focus{box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px var(--accent-soft)}
.fi-in2 input.err{box-shadow:inset 0 0 0 1.5px var(--fi-ko)}
.fi-chk{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);margin-top:12px;cursor:pointer}
.fi-chk input{accent-color:var(--accent);width:16px;height:16px}

.fi-hyp summary{list-style:none;cursor:pointer;display:flex}
.fi-hyp summary::-webkit-details-marker{display:none}
.fi-hyp summary .fi-k{margin:0;flex:1}
.fi-hyp summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);margin:2px 4px 0;transition:transform .3s var(--ease)}
.fi-hyp[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.fi-hyp ul{margin:12px 0 0 16px;font-size:12.5px;line-height:1.55;color:var(--ink-2);display:flex;flex-direction:column;gap:5px}
.fi-hyp b{color:var(--ink)}
.fi-disc{font-size:11.5px;line-height:1.5;color:var(--ink-3);padding:0 4px}

/* barre récapitulative (affichage étroit) */
.fi-sticky{position:sticky;bottom:10px;z-index:4;margin-top:16px;display:flex;align-items:center;gap:14px;padding:11px 16px;border-radius:999px;font-size:12.5px;color:var(--ink-2);
  background:var(--glass-bg-strong);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);overflow:hidden;white-space:nowrap}
.fi-sticky b{color:var(--ink);font-weight:700}
.fi-dotz{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.fi-dotz.ok{background:var(--fi-ok)}.fi-dotz.warn{background:var(--fi-warn)}.fi-dotz.ko{background:var(--fi-ko)}
@container (max-width:400px){ .fi-hide-xs{display:none} .fi-val input{width:84px} .fi-big{font-size:26px} .fi-max .fi-big{font-size:32px} .fi-row2{grid-template-columns:1fr} }

/* ---------- overlay ---------- */
.fi-ov{position:fixed;inset:0;z-index:72;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(11,13,18,.24);
  backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.fi-ov.open{opacity:1;pointer-events:auto}
[data-theme=dark] .fi-ov{background:rgba(0,0,0,.5)}
.fi-sheet{width:min(1160px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;border-radius:30px;overflow:hidden;color:var(--ink);
  background:linear-gradient(140deg,rgba(255,255,255,.95),rgba(247,246,243,.9));backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);
  box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);transform:translateY(24px) scale(.97);opacity:0;transition:transform .55s var(--spring),opacity .35s var(--ease)}
.fi-ov.open .fi-sheet{transform:none;opacity:1}
[data-theme=dark] .fi-sheet{background:linear-gradient(140deg,rgba(32,35,43,.96),rgba(18,20,26,.93))}
.fi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 14px}
.fi-eye{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.fi-head h2{font-size:30px;line-height:1.08;letter-spacing:-.035em;font-weight:700;margin-top:4px}
.fi-head h2 em{font:italic 400 1.14em var(--serif);letter-spacing:-.01em}
.fi-x{flex-shrink:0}
.fi-body{overflow-y:auto;padding:4px 28px 28px;overscroll-behavior:contain}
@media (max-width:900px){
  .fi-ov{padding:0;align-items:flex-end}
  .fi-sheet{width:100%;max-height:none;height:96vh;height:96dvh;border-radius:28px 28px 0 0;transform:translateY(100%);border-bottom:0}
  .fi-head{padding:22px 18px 10px}
  .fi-head::before{content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);width:40px;height:5px;border-radius:5px;background:var(--fi-track,rgba(11,13,18,.18))}
  .fi-head h2{font-size:26px}
  .fi-body{padding:4px 16px calc(env(safe-area-inset-bottom) + 20px)}
}
@media (max-width:600px){ .fi-sheet{height:100vh;height:100dvh;border-radius:0} .fi-head::before{display:none} .fi-head{padding-top:calc(env(safe-area-inset-top) + 18px)} }
@media (max-width:900px){ .fi-sticky{bottom:calc(env(safe-area-inset-bottom) + 10px)} }
/* écrans tactiles : la pastille « ? » garde son look mais reçoit une zone de toucher de 40 px */
@media (pointer:coarse){ .fi-q{position:relative} .fi-q::after{content:"";position:absolute;inset:-11px} }

/* onglet du compte */
.acc[data-tab=finance] .acc-main{padding-bottom:20px}
@media (prefers-reduced-motion:reduce){ .fi-sheet,.fi-ov,.fi-stack i,.fi-dw circle,.fi-tipbox{transition:none!important} }

/* ---------- impression : uniquement le récapitulatif ---------- */
#fiPrint{display:none}
@media print{
  html.fi-printing,html.fi-printing body{height:auto!important;overflow:visible!important;background:#fff!important}
  html.fi-printing body>*:not(#fiPrint){display:none!important}
  html.fi-printing #fiPrint{display:block!important;color:#0b0d12;font:11pt/1.45 Inter,Arial,sans-serif;padding:0}
  #fiPrint header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5pt solid #0b0d12;padding-bottom:8pt;margin-bottom:10pt;font-size:10pt;color:#3b3f4a}
  #fiPrint .fp-logo{font:700 18pt Inter,Arial,sans-serif;letter-spacing:-.03em;color:#0b0d12}
  #fiPrint .fp-logo em{color:#c97b5a;font-style:normal}
  #fiPrint .fp-disc{padding:8pt 10pt;border:1pt solid #c97b5a;border-radius:6pt;font-size:9.5pt;margin-bottom:12pt}
  #fiPrint h2{font-size:13pt;margin:0 0 6pt}
  #fiPrint h3{font-size:12pt;margin:6pt 0 10pt;color:#c97b5a}
  #fiPrint h4{font-size:11pt;margin:14pt 0 6pt}
  #fiPrint .fp-cols{display:grid;grid-template-columns:1fr 1fr;gap:16pt}
  #fiPrint table{width:100%;border-collapse:collapse;font-size:10pt}
  #fiPrint caption{text-align:left;font-weight:700;padding-bottom:4pt}
  #fiPrint td{padding:4pt 0;border-bottom:.5pt solid #ccc}
  #fiPrint td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
  #fiPrint ul{margin-left:14pt;font-size:9.5pt}
  @page{margin:16mm}
}

/* =====================================================================
   Version simplifiée (modèle Wayne) — préfixe fx-
   ===================================================================== */
.fx-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;align-items:start}
@container (max-width:760px){ .fx-grid{grid-template-columns:1fr} .fx-out{position:static} }
.fx-card{border-radius:24px;padding:22px 22px 20px}
.fx-in{background:var(--fi-card);box-shadow:inset 0 0 0 1px var(--fi-line)}
.fx-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.fx-head b{font-size:17px;letter-spacing:-.02em}
.fx-ico{width:40px;height:40px;border-radius:12px;border-top-right-radius:4px;background:var(--accent);color:#fff;display:grid;place-items:center;flex-shrink:0}
.fx-chip{margin-left:auto;font-size:12px;font-weight:600;padding:6px 11px;border-radius:99px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.fx-sec{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:4px 0 6px}
.fx .fi-f{margin-bottom:16px}
.fx .fi-sub .fi-fh label{padding-left:0}
.fx .fi-sub .fi-fh label::before{display:none}
.fx-sep{height:1px;background:var(--fi-line);margin:8px 0 16px}
.fx .fi-link{margin:-6px 0 10px}
.fx-more{border-top:1px solid var(--fi-line);margin-top:6px;padding-top:14px}
.fx-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--ink)}
.fx-more summary::-webkit-details-marker{display:none}
.fx-more summary svg{transition:transform .25s var(--ease)}
.fx-more[open] summary svg{transform:rotate(180deg)}
.fx-more-b{padding-top:12px;animation:fxIn .3s var(--ease)}
@keyframes fxIn{from{opacity:0;transform:translateY(-4px)}}

/* carte résultat */
.fx-out{position:sticky;top:0;color:#fff;background:linear-gradient(155deg,#a95c3f 0%,#c97b5a 48%,#d99a7c 100%);box-shadow:0 24px 50px -24px rgba(169,92,63,.75)}
[data-theme=dark] .fx-out{background:linear-gradient(155deg,#7d4430 0%,#a8644a 55%,#c27c5f 100%)}
.fx-lbl{display:flex;align-items:center;gap:8px;font-size:13.5px;opacity:.9}
.fx-lbl i{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.fx-max{display:block;font-size:46px;line-height:1.05;font-weight:800;letter-spacing:-.045em;margin:6px 0 6px}
.fx-max small{font-size:14px;font-weight:600;letter-spacing:0;margin-left:4px;opacity:.85}
.fx-sub{font-size:13px;line-height:1.5;opacity:.88;margin-bottom:16px}
.fx-verdict{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.14);font-size:13px;line-height:1.5;margin-bottom:14px}
.fx-verdict.ko{background:rgba(40,16,8,.22)}
.fx-vi{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--accent);display:grid;place-items:center}
.fx-vi svg{width:16px;height:16px}
.fx-month{padding:16px;border-radius:16px;background:rgba(255,255,255,.14);margin-bottom:10px}
.fx-month b{display:block;font-size:28px;font-weight:800;letter-spacing:-.035em}
.fx-month span{font-size:12.5px;opacity:.85;line-height:1.45}
.fx-rows{display:flex;flex-direction:column}
.fx-r{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:13.5px}
.fx-r span{opacity:.88}
.fx-r b{font-weight:700;white-space:nowrap}
.fx-r small{font-weight:500;opacity:.75}
.fx-r.fx-strong span{opacity:1;font-weight:600}
.fx-detail{margin-top:10px}
.fx-detail summary{cursor:pointer;font-size:13.5px;font-weight:700;text-decoration:underline;text-underline-offset:3px;list-style:none;padding:6px 0}
.fx-detail summary::-webkit-details-marker{display:none}
.fx-detail .fx-r{font-size:12.5px;padding:8px 0}
.fx-foot{font-size:11.5px;opacity:.8;line-height:1.45;margin-top:12px}
.fx-print{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:12.5px;font-weight:600;color:#fff;opacity:.9;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.14)}
.fx-print:hover{opacity:1;background:rgba(255,255,255,.22)}
.fx .fi-disc{display:flex;gap:8px;align-items:flex-start;margin-top:14px}
.fx .fi-disc svg{flex-shrink:0;width:15px;height:15px;margin-top:1px}
@container (max-width:420px){ .fx-card{padding:18px 16px} .fx-max{font-size:38px} .fx-chip{display:none} }
