/* Secundis - simulateur V2 (fiche lot + /simulateur-lmnp/). Theme clair, tokens du theme. */
.sim2{background:linear-gradient(165deg,#FFFFFF 0%,#F1F6F3 100%); border:1px solid var(--trait); border-radius:22px; padding:2.25rem 2.25rem 1.5rem; box-shadow:var(--ombre-1); color:var(--marine); overflow:hidden}
.sim2 > * {min-width:0}
.sim2-tete h2{font-size:var(--t-xl); color:var(--marine); margin:0 0 .4rem}
.sim2-tete .sous,.sim2 .sous{color:var(--texte-2); font-size:.95rem; max-width:62ch; margin:0 0 1.5rem}

/* ---- le bien (page rubrique, editable) */
.sim2-bien{background:#fff; border:1px solid var(--trait); border-radius:16px; padding:1.1rem 1.25rem; margin-bottom:1.5rem}
.sim2-bien-tete{display:flex; justify-content:space-between; align-items:baseline; gap:1rem; flex-wrap:wrap}
.sim2-bien-tete .etiquette{margin:0}
.sim2-bien-lot{font-size:.85rem; color:var(--texte-2); margin:0}
.sim2-bien-lot a{color:var(--vert); font-weight:600}
.sim2-bien-champs{display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin-top:.9rem}
.sim2-bien-champs--2{grid-template-columns:1.2fr 1fr 1fr 1fr; align-items:end; margin-top:.75rem; padding-top:.75rem; border-top:1px dashed var(--trait)}
.sim2-bien-sous{font-size:.8rem; color:var(--texte-2); padding-bottom:.55rem; line-height:1.3}
.sim2-bien-champs label{font-family:var(--data); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--texte-2); display:flex; flex-direction:column; gap:.3rem}
.sim2-bien-champs input{border:1px solid var(--trait); border-radius:var(--r-sm); padding:.5rem .6rem; font:inherit; font-family:var(--data); font-size:.9rem; color:var(--marine); background:#fff; width:100%}

/* ---- grille reglages / resultat */
.sim2-grille{display:grid; grid-template-columns:1fr 1.15fr; gap:2rem; align-items:start}
.sim2-reglages{display:flex; flex-direction:column; gap:1.35rem}
.sim2-reglage-tete{display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-bottom:.55rem}
.sim2-reglage-tete label,.sim2-lib{font-weight:600; font-size:.95rem}
.sim2-reglage-tete output{font-family:var(--data); font-size:.85rem; font-weight:600; color:var(--vert); background:var(--sauge-15); padding:.25rem .6rem; border-radius:999px; white-space:nowrap}
.sim2-aide{font-size:.78rem; color:var(--texte-2); margin:.5rem 0 0}
.sim2-info{width:22px; height:22px; border-radius:50%; border:1px solid var(--trait); background:#fff; color:var(--texte-2); font-size:.75rem; font-weight:700; cursor:pointer; line-height:1}
.sim2-info:hover{border-color:var(--vert); color:var(--vert)}

/* reglette */
.sim2 input[type=range]{-webkit-appearance:none; appearance:none; width:100%; height:10px; border-radius:999px; outline:none; cursor:pointer; margin:.2rem 0;
  background:linear-gradient(90deg,var(--vert) 0%,var(--vert) var(--pct,10%),#DDE5E1 var(--pct,10%),#DDE5E1 100%)}
.sim2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:28px; height:28px; border-radius:50%; background:#fff; border:3px solid var(--vert); box-shadow:0 4px 12px rgba(44,125,92,.35); cursor:grab; transition:transform .12s}
.sim2 input[type=range]:active::-webkit-slider-thumb{transform:scale(1.08); cursor:grabbing}
.sim2 input[type=range]::-moz-range-thumb{width:28px; height:28px; border-radius:50%; background:#fff; border:3px solid var(--vert); box-shadow:0 4px 12px rgba(44,125,92,.35); cursor:grab}
.sim2 input[type=range]:focus-visible{box-shadow:0 0 0 3px rgba(44,125,92,.25)}
.sim2-bornes{display:flex; justify-content:space-between; font-family:var(--data); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; color:var(--texte-2); margin-top:.35rem}
.sim2-jauge{position:relative; height:26px; border-radius:8px; background:#E4EBF3; overflow:hidden; margin-top:.75rem; display:flex; align-items:center; justify-content:space-between; padding:0 .6rem; font-family:var(--data); font-size:.66rem; font-weight:600; color:var(--marine)}
.sim2-jauge i{position:absolute; left:0; top:0; bottom:0; inset:0 auto 0 0; background:linear-gradient(90deg,#3A9470,#2C7D5C); border-radius:8px 0 0 8px; transition:width .25s ease}
.sim2-jauge b{position:relative; z-index:1}
.sim2-jauge b:first-of-type{color:#fff}
.sim2-jauge.tout-vous b:last-of-type{display:none}
.sim2-jauge.tout-vous b:first-of-type{color:#fff}

/* pilules */
.sim2-pilules{display:flex; flex-wrap:wrap; gap:.4rem}
.sim2-pilules button{border:1px solid var(--trait); background:#fff; color:var(--marine); border-radius:999px; padding:.5rem .95rem; font-size:.875rem; font-weight:600; cursor:pointer; transition:all .15s}
.sim2-pilules button:hover{border-color:var(--marine)}
.sim2-pilules button[aria-checked=true]{background:var(--marine); border-color:var(--marine); color:#fff; box-shadow:0 6px 14px rgba(29,46,74,.22)}
#sim2-bloc-duree.inactif{opacity:.45; pointer-events:none}

/* avance */
.sim2-avance{border-top:1px dashed var(--trait); padding-top:.9rem}
.sim2-avance summary{cursor:pointer; font-weight:600; font-size:.875rem; color:var(--texte-2); list-style:none; display:flex; align-items:center; gap:.5rem}
.sim2-avance summary::-webkit-details-marker{display:none}
.sim2-avance summary::before{content:'+'; width:20px; height:20px; border-radius:50%; border:1px solid var(--trait); display:inline-flex; align-items:center; justify-content:center; font-size:.9rem; color:var(--vert)}
.sim2-avance[open] summary::before{content:'−'}
.sim2-avance summary span{font-weight:400; font-size:.78rem}
.sim2-avance-champs{display:grid; grid-template-columns:1fr 1fr; gap:.7rem .9rem; margin-top:.9rem}
.sim2-avance-champs label{font-size:.8rem; color:var(--texte-2); display:flex; flex-direction:column; gap:.25rem}
.sim2-avance-champs label span{display:flex; align-items:center; gap:.4rem; font-family:var(--data); font-size:.8rem; color:var(--marine)}
.sim2-avance-champs input{width:90px; border:1px solid var(--trait); border-radius:var(--r-sm); padding:.4rem .5rem; font:inherit; font-family:var(--data); font-size:.85rem}

/* ---- resultat */
.sim2-resultat{background:#fff; border:1px solid var(--trait); border-radius:18px; padding:1.5rem 1.5rem 1.25rem; box-shadow:var(--ombre-1); position:sticky; top:96px}
.sim2-hero{text-align:left; padding-bottom:1rem; border-bottom:1px solid var(--trait)}
.sim2-hero-lib{display:inline-block; font-family:var(--data); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--marine); border-radius:999px; padding:.3rem .7rem}
.sim2-hero-lib.positif{background:var(--vert)}
.sim2-hero-val{display:flex; align-items:baseline; gap:.5rem; margin:.6rem 0 .3rem}
.sim2-hero-val b{font-family:var(--titres); font-size:3.2rem; font-size:clamp(2.6rem,5vw,3.6rem); font-weight:700; letter-spacing:-.03em; color:var(--marine); line-height:1; transition:color .2s}
.sim2-hero-val b.positif{color:var(--vert)}
.sim2-hero-val em{font-style:normal; font-size:1rem; color:var(--texte-2); font-weight:500}
.sim2-hero-phrase{font-size:.9rem; color:var(--texte-2); margin:0; max-width:52ch}
.sim2-hero-phrase b{color:var(--marine)}
.sim2-flux{list-style:none; margin:.9rem 0 0; padding:0; display:flex; flex-direction:column; gap:.35rem}
.sim2-flux li{display:flex; justify-content:space-between; align-items:baseline; gap:.75rem; font-size:.875rem; color:var(--texte-2)}
.sim2-flux li::before{content:''; order:2; flex:1; border-bottom:1px dotted var(--trait); transform:translateY(-.3em)}
.sim2-flux li span{order:1}
.sim2-flux li b{order:3; font-family:var(--data); font-size:.85rem; font-weight:600; color:var(--marine); white-space:nowrap}
.sim2-flux li b.plus{color:var(--vert)}
.sim2-flux li b.zero{color:var(--vert)}
.sim2-flux li[hidden]{display:none}
.sim2-tuiles{display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-top:1.1rem}
.sim2-tuile{background:var(--menthe,#EEF6F2); border-radius:12px; padding:.8rem .8rem .7rem; display:flex; flex-direction:column; gap:.15rem}
.sim2-tuile b{font-family:var(--titres); font-size:1.35rem; font-weight:700; color:var(--vert); letter-spacing:-.02em; line-height:1.1}
.sim2-tuile span{font-size:.72rem; color:var(--texte-2); line-height:1.3}

/* ---- a savoir */
.sim2-savoir{margin-top:2rem}
.sim2-savoir .etiquette{margin-bottom:.6rem}
.sim2-chips{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.5rem}
.sim2-chips li{background:#fff; border:1px solid var(--trait); border-radius:999px; padding:.4rem .8rem .4rem .6rem; font-size:.8rem; color:var(--marine); display:inline-flex; align-items:center; gap:.45rem; max-width:100%}
.sim2-chips li i{width:22px; height:22px; border-radius:50%; background:var(--sauge-15); color:var(--vert); display:inline-flex; align-items:center; justify-content:center; font-style:normal; font-size:.8rem; flex-shrink:0}
.sim2-chips li b{font-weight:600}
.sim2-chips li.alerte i{background:#FBEFE6; color:var(--brique)}
.sim2-chips li.bon i{background:#E2F2EA; color:var(--vert)}

/* ---- comparatif */
.sim2-comparatif{margin-top:2.25rem; background:#fff; border:1px solid var(--trait); border-radius:18px; padding:1.5rem 1.5rem 1.1rem}
.sim2-comp-tete h3{font-size:var(--t-lg); margin:0 0 .4rem; color:var(--marine)}
.sim2-comp-tete .sous{margin-bottom:1.25rem}
.sim2-comp-lignes{display:flex; flex-direction:column; gap:.55rem}
.sim2-comp{display:grid; grid-template-columns:48px 220px 1fr 130px; align-items:center; gap:.9rem; padding:.7rem .8rem; border-radius:14px; border:1px solid transparent}
.sim2-comp--nous{background:var(--menthe,#EEF6F2); border-color:#CFE3D8}
.sim2-comp-logo{width:48px; height:48px; border-radius:12px; background:#F4F6F5; border:1px solid var(--trait); display:flex; align-items:center; justify-content:center; overflow:hidden}
.sim2-comp-logo img{width:32px; height:32px; object-fit:contain}
.sim2-comp-logo svg{width:48px; height:48px}
.sim2-comp-logo:has(svg){background:transparent; border:0}
.sim2-comp-logo .pastille{font-family:var(--titres); font-weight:700; font-size:.6rem; letter-spacing:.02em; color:#fff; border-radius:8px; padding:.25rem .4rem; text-align:center; line-height:1.1}
.sim2-comp-nom{display:flex; flex-direction:column; gap:.1rem; min-width:0}
.sim2-comp-nom b{font-size:.95rem; color:var(--marine); display:flex; align-items:center; gap:.4rem; flex-wrap:wrap}
.sim2-comp-nom b .jeton{font-family:var(--data); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; background:var(--vert); color:#fff; border-radius:999px; padding:.15rem .5rem}
.sim2-comp-nom span{font-size:.75rem; color:var(--texte-2)}
.sim2-comp-rail{height:14px; background:#EEF1F0; border-radius:999px; overflow:hidden; position:relative}
.sim2-comp-rail i{position:absolute; left:0; top:0; bottom:0; inset:0 auto 0 0; background:#8FA3B8; border-radius:999px; transition:width .45s cubic-bezier(.2,.7,.2,1)}
.sim2-comp--nous .sim2-comp-rail i{background:linear-gradient(90deg,#2C7D5C,#3A9470)}
.sim2-comp-rail i.neg{background:#D6A196}
.sim2-comp-val{text-align:right; font-family:var(--data); font-size:.9rem; font-weight:600; color:var(--marine); white-space:nowrap; display:flex; flex-direction:column; align-items:flex-end; gap:.05rem}
.sim2-comp-val small{font-size:.68rem; font-weight:400; color:var(--texte-2)}
.sim2-comp--nous .sim2-comp-val{color:var(--vert)}
.sim2-comp-tags{grid-column:2 / -1; display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.1rem}
.sim2-comp-tags span{font-size:.68rem; color:var(--texte-2); background:#F4F6F5; border-radius:999px; padding:.15rem .55rem}
.sim2-comp--nous .sim2-comp-tags span{background:#fff}
.sim2-comp-note{font-size:.72rem; color:var(--texte-2); margin:1rem 0 0; line-height:1.45}

/* ---- detail */
.sim2-detail{margin-top:1.5rem; border-top:1px solid var(--trait)}
.sim2-detail summary{cursor:pointer; padding:1rem 0; font-weight:600; color:var(--marine); list-style:none; display:flex; align-items:center; gap:.6rem}
.sim2-detail summary::-webkit-details-marker{display:none}
.sim2-detail summary::before{content:'▸'; color:var(--vert); transition:transform .15s}
.sim2-detail[open] summary::before{transform:rotate(90deg)}
.sim2-detail summary span{font-weight:400; font-size:.8rem; color:var(--texte-2)}
.sim2-detail-corps{display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding-bottom:1.5rem}
.sim2-detail h4{font-size:.8rem; font-family:var(--data); letter-spacing:.1em; text-transform:uppercase; color:var(--texte-2); margin:1rem 0 .5rem; font-weight:600}
.sim2-detail h4:first-child{margin-top:0}
.sim2-table{width:100%; border-collapse:collapse; font-size:.8rem}
.sim2-table th,.sim2-table td{padding:.35rem .4rem; border-bottom:1px solid var(--trait); text-align:right; font-family:var(--data); font-size:.76rem}
.sim2-table th{font-family:var(--corps); font-weight:600; color:var(--texte-2); font-size:.72rem}
.sim2-table td:first-child,.sim2-table th:first-child{text-align:left; font-family:var(--corps)}
.sim2-table tr.total td{font-weight:700; color:var(--marine)}
.sim2-table td.neg{color:var(--brique)} .sim2-table td.pos{color:var(--vert)}
.sim2-table-defile{overflow:auto; margin-top:.75rem; border:1px solid var(--trait); border-radius:10px; max-height:360px}
.sim2-table--annees th{position:sticky; top:0; background:#fff}
.sim2-commentaire{font-size:.85rem; color:var(--texte-2); background:var(--papier); border-left:3px solid var(--sauge); padding:.6rem .8rem; border-radius:0 8px 8px 0}

/* ---- CTA */
.sim2-cta{margin:1.75rem -2.25rem -1.5rem; background:var(--degrade-marine,#1D2E4A); color:#fff; padding:1.6rem 2.25rem 1.3rem; display:grid; grid-template-columns:1fr auto; gap:1rem 2rem; align-items:center}
.sim2-cta-txt{display:flex; flex-direction:column; gap:.2rem}
.sim2-cta-txt b{font-family:var(--titres); font-size:1.1rem}
.sim2-cta-txt span{font-size:.85rem; color:#B9C7D6}
.sim2-cta-boutons{display:flex; gap:.6rem; flex-wrap:wrap; justify-content:flex-end}
.sim2-cta .bouton--fil{color:#fff; border-color:rgba(255,255,255,.6)}
.sim2-cta .bouton--fil:hover{background:#fff; color:var(--marine)}
.sim2-mention{grid-column:1 / -1; font-size:.72rem; color:#8EA0B4; margin:.4rem 0 0}
.sim2-mention--fiche{color:var(--texte-2); margin:1.25rem 0 0}
.sim2-mention .lien-hypotheses{color:#C9D6D0}

/* ---- responsive */
@media (max-width:980px){
  .sim2{padding:1.5rem 1.25rem 1.25rem}
  .sim2-bien-champs,.sim2-bien-champs--2{grid-template-columns:1fr 1fr}
  .sim2-bien-sous{grid-column:1 / -1; padding-bottom:0}
  .sim2-grille{grid-template-columns:1fr; gap:1.25rem}
  .sim2-resultat{position:static}
  .sim2-detail-corps{grid-template-columns:1fr}
  .sim2-cta{margin:1.5rem -1.25rem -1.25rem; padding:1.3rem 1.25rem 1.1rem; grid-template-columns:1fr}
  .sim2-cta-boutons{justify-content:flex-start}
  .sim2-comp{grid-template-columns:44px 1fr 110px; grid-template-areas:'logo nom val' 'logo rail rail' 'tags tags tags'}
  .sim2-comp-logo{grid-area:logo} .sim2-comp-nom{grid-area:nom} .sim2-comp-rail{grid-area:rail} .sim2-comp-val{grid-area:val} .sim2-comp-tags{grid-area:tags; grid-column:auto}
}
@media (max-width:560px){
  .sim2-tuiles{grid-template-columns:1fr 1fr}
  .sim2-tuile:last-child{grid-column:1 / -1}
  .sim2-avance-champs{grid-template-columns:1fr}
  .sim2-pilules button{padding:.45rem .75rem; font-size:.8rem}
  .sim2-cta-boutons .bouton{width:100%; justify-content:center}
}
@media (prefers-reduced-motion:reduce){ .sim2 *{transition:none !important} }

/* ==========================================================================
   21/09 — MOBILE : comparatif des placements en cartes empilées.
   Ces règles sont volontairement placées EN FIN DE CE FICHIER : les versions
   précédentes étaient écrites dans pages.css, chargé AVANT simulateur.css,
   et se faisaient donc écraser par la grille ci-dessus (colonne de 220 px).
   ========================================================================== */
@media (max-width:640px){
  .sim2-comp{display:block !important; grid-template-columns:none !important; grid-template-areas:none !important;
    padding:1rem !important; border:1px solid var(--trait); border-radius:16px; background:#fff}
  .sim2-comp + .sim2-comp{margin-top:.6rem}
  .sim2-comp--nous{background:var(--menthe,#EEF6F2); border-color:#CFE3D8}
  .sim2-comp-logo{float:left; width:40px !important; height:40px !important; margin:0 .65rem .25rem 0}
  .sim2-comp-logo svg{width:40px; height:40px}
  .sim2-comp-logo img{width:26px; height:26px}
  .sim2-comp-nom{display:block !important; min-height:40px}
  .sim2-comp-nom b{display:block; font-size:1rem; line-height:1.25}
  .sim2-comp-nom b .jeton{display:inline-block; margin-top:.2rem}
  .sim2-comp-nom span{display:block; font-size:.82rem; line-height:1.35; margin-top:.15rem}
  .sim2-comp-val{clear:both; display:flex !important; flex-direction:row !important; align-items:baseline;
    justify-content:flex-start !important; text-align:left !important; gap:.5rem; margin-top:.6rem; font-size:1.05rem; white-space:normal}
  .sim2-comp-val small{font-size:.8rem}
  .sim2-comp-rail{margin-top:.5rem; height:10px}
  .sim2-comp-tags{display:flex !important; flex-wrap:wrap; gap:.35rem; margin-top:.65rem; grid-column:auto !important; width:100%}
  .sim2-comp-tags span{display:inline-block; width:auto; max-width:100%; white-space:normal; line-height:1.35;
    font-size:.74rem; border-radius:10px; padding:.3rem .6rem}
  /* le reste du simulateur : une colonne, rien de tassé */
  .sim2-grille,.sim2-colonnes,.sim2-detail,.sim2-tuiles{grid-template-columns:1fr !important}
  .sim2-hero{display:block; text-align:left}
}
