/* ==========================================================================
   Simulateur v2 — deltas par rapport à simulateur.css.
   Le résultat devient un « cockpit » unique : les trois temporalités sont
   fusionnées dans la colonne de droite au lieu d'être répétées en section.
   ========================================================================== */

/* ---------- cockpit ---------- */
.cockpit .ck-row{padding:var(--sp-06) 0;border-top:1px solid #C6DAF5}
.cockpit .ck-row--primary{padding-top:var(--sp-04);border-top:0}
.cockpit .ck-amount{font-size:var(--heading-lg-size);line-height:44px;
  letter-spacing:var(--heading-lg-ls);color:var(--navy);font-weight:400;
  margin:var(--sp-02) 0 2px;word-break:break-word}
.cockpit .ck-amount--sm{font-size:var(--heading-md-size);line-height:var(--heading-md-lh);
  letter-spacing:var(--heading-md-ls)}
.cockpit .ck-label{font-size:var(--p-md-size);line-height:24px;color:var(--navy);margin:0 0 4px}
.cockpit .res-note{margin:0}
.cockpit .ck-detail{display:grid;grid-template-columns:1fr auto;gap:2px var(--sp-04);
  margin-top:var(--sp-03);font-size:var(--p-sm-size);line-height:20px;color:var(--gray-mid)}
.cockpit .ck-detail b{color:var(--navy);font-weight:400;white-space:nowrap}
.cockpit .ck-fresh{margin-top:var(--sp-04);font-size:var(--p-xs-size);line-height:16px;color:var(--gray-mid)}
.cockpit .ck-fresh b{color:var(--navy);font-weight:400}
.cockpit .pill{margin-bottom:0}

/* ---------- détail de calcul dépliable ---------- */
.disclosure{margin-top:var(--sp-08);border-top:1px solid var(--gray-line);border-bottom:1px solid var(--gray-line)}
.disclosure__trigger{width:100%;background:none;border:0;cursor:pointer;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-06);
  padding:21px 0 22px;font:400 26px/30px var(--font);letter-spacing:-1px;color:var(--navy)}
.disclosure__trigger:hover{color:var(--blue-accessible)}
.disclosure__trigger:focus-visible{outline:3px solid rgba(33,117,217,.35);outline-offset:2px}
.disclosure__trigger .chev{width:20px;height:20px;flex:none;fill:none;stroke:var(--blue);
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease-in-out}
.disclosure__trigger[aria-expanded="true"] .chev{transform:rotate(180deg)}
.disclosure__panel{max-height:0;overflow:hidden;transition:max-height .3s ease}
.disclosure__panel .fiche{margin-top:0}
.disclosure__panel > *:last-child{margin-bottom:var(--sp-06)}

@media(max-width:1100px){
  .cockpit .ck-row{padding:var(--sp-04) 0}
}
@media(max-width:640px){
  .cockpit .ck-amount{font-size:var(--heading-md-size);line-height:var(--heading-md-lh);
    letter-spacing:var(--heading-md-ls)}
  .cockpit .ck-amount--sm{font-size:var(--heading-sm-size);line-height:var(--heading-sm-lh)}
  .disclosure__trigger{font-size:var(--heading-xs-size);line-height:var(--heading-xs-lh);letter-spacing:0}
}
@media print{.disclosure__panel{max-height:none !important}}

/* ---------- durée non renseignée : le résultat de période reste affiché ---------- */
.form-check{display:flex;align-items:center;gap:8px;margin-top:var(--sp-02);cursor:pointer}
.form-check input{width:18px;height:18px;flex:none;accent-color:var(--blue);cursor:pointer;margin:0}
.form-check span{font-size:var(--p-sm-size);line-height:var(--p-sm-lh);color:var(--gray-mid)}
.form-check:hover span{color:var(--navy)}
.form-check input:focus-visible{outline:3px solid rgba(33,117,217,.35);outline-offset:2px}
.ck-note{margin-top:var(--sp-06);padding:var(--sp-04) var(--sp-06);background:var(--warn-bg);
  border-left:4px solid var(--warn);font-size:var(--p-sm-size);line-height:var(--p-sm-lh);color:var(--navy)}
.ck-note[hidden]{display:none}
.ck-note b{display:block;font-weight:400;margin-bottom:4px}
.ck-note em{font-style:normal;box-shadow:inset 0 -1px 0 var(--warn)}

/* ---------- fin de mission : presque au niveau du montant principal ---------- */
.cockpit .ck-row--end{background:var(--warn-bg);border-left:4px solid var(--warn);
  border-top:0;margin:var(--sp-06) calc(-1 * var(--sp-08)) 0;
  padding:var(--sp-06) var(--sp-08)}
.cockpit .ck-row--end .pill{background:#fff;color:#8A6100}
.cockpit .ck-row--end + .ck-row{border-top:0;padding-top:var(--sp-06)}
@media(max-width:640px){
  .cockpit .ck-row--end{margin-left:calc(-1 * var(--sp-06));margin-right:calc(-1 * var(--sp-06));
    padding-left:var(--sp-06);padding-right:var(--sp-06)}
}

/* L'ambre est réservé au repère « fin de contrat » : l'encadré d'hypothèses
   reprenait le même traitement et lui faisait concurrence. */
.cockpit .res-warn{background:#fff;border-left-color:var(--gray-line);color:var(--gray-mid)}
.cockpit .res-warn b{color:var(--navy)}

/* ---------- durée : champ facultatif, sur sa propre ligne ---------- */
.form-group--duree{margin-top:30px}
.form-group--duree .form-group__input{max-width:248px}
.form-group--duree #duree{max-width:96px}
.form-group__opt{color:var(--gray-mid);font-size:var(--p-sm-size)}
@media(max-width:640px){
  .form-group--duree{margin-top:var(--sp-06)}
  .form-group--duree .form-group__input{max-width:none}
  .form-group--duree #duree{max-width:84px}
}

/* ---------- colonne de résultat collante ----------
   Une fois les options avancées dépliées, le formulaire fait plus de 1700px :
   sans cela, chaque modification obligeait à remonter pour voir son effet.
   C'est le contenu qui colle, pas la colonne : celle-ci garde sa hauteur et
   son aplat, sinon le fond bleu s'arrêterait au ras du texte. */
@media(min-width:1101px){
  /* La colonne elle-même devient collante et cesse de s'étirer : ancrée sur
     l'enveloppe du contenu, elle se décrochait dans les derniers 600px du
     formulaire. L'aplat teinté passe donc sur la carte, en dégradé à deux
     paliers calé sur la césure de la grille (1.4fr / .85fr = 62,222 %),
     pour que la colonne reste colorée sur toute la hauteur. */
  .simu-card{background:linear-gradient(to right,
    var(--white) 0 62.222%, var(--blue-tint-7) 62.222% 100%)}
  .cockpit{align-self:start;position:sticky;top:88px;background:transparent}
}

/* ---------- feuille d'estimation imprimable ----------
   À l'écran elle n'existe pas ; à l'impression elle est la seule chose visible.
   Objectif : une estimation autonome et lisible, pas une capture de la page. */
#print-sheet{display:none}

@media print{
  /* on masque tout le reste de la page, y compris les blocs éditoriaux */
  body > *{display:none !important}
  body > #print-sheet{display:block !important}
  body{padding:0;background:#fff}
  @page{margin:14mm}

  .ps__tete{display:flex;align-items:flex-start;justify-content:space-between;
    gap:16px;border-bottom:2px solid #0F1941;padding-bottom:12px;margin-bottom:20px}
  .ps__tete img{width:150px;height:auto;display:block;margin-bottom:10px}
  .ps__titre{font-size:20pt;line-height:1.1;letter-spacing:-0.5pt;color:#0F1941;margin:0}
  .ps__date{font-size:9pt;color:#565656;margin:4px 0 0;text-align:right}
  .ps h2{font-size:12pt;color:#0F1941;margin:18px 0 8px;font-weight:400}
  .ps__params{width:100%;border-collapse:collapse;font-size:9.5pt}
  .ps__params td{padding:3px 0;vertical-align:top}
  .ps__params td:first-child{color:#565656;width:52%}
  .ps__params td:last-child{color:#0F1941;text-align:right}
  .ps__montants{display:flex;gap:10px;margin:10px 0 4px}
  .ps__montant{flex:1;border:1px solid #D7D7D7;border-radius:4px;padding:10px 12px}
  /* hauteur réservée à l'intitulé : sans elle, un intitulé sur deux lignes
     décale son montant par rapport aux deux autres blocs */
  .ps__montant .q{font-size:8pt;color:#565656;display:block;margin-bottom:5px;
    min-height:2.4em;line-height:1.2}
  .ps__montant .v{font-size:16pt;color:#0F1941;display:block;line-height:1.1}
  .ps__montant .s{font-size:8pt;color:#565656;display:block;margin-top:4px;line-height:1.3;min-height:2.4em}
  .ps__montant--fin{border-color:#E9A204;border-left-width:3px}
  .ps__fiche{width:100%;border-collapse:collapse;font-size:9pt;margin-top:6px}
  .ps__fiche th{text-align:left;font-size:8pt;color:#565656;font-weight:400;
    border-bottom:1px solid #D7D7D7;padding:4px 0}
  .ps__fiche th:last-child,.ps__fiche td.n{text-align:right}
  .ps__fiche td{padding:4px 0;border-bottom:1px solid #EFEFEF;color:#0F1941;vertical-align:top}
  .ps__fiche tr.sub td{color:#565656;font-size:8pt;padding-top:8px;border-bottom:0}
  .ps__fiche tr.tot td{font-weight:400;border-bottom:1px solid #0F1941}
  .ps__fiche .why-txt-static{display:block;color:#878787;font-size:7.5pt}
  .ps__pied{margin-top:18px;padding-top:10px;border-top:1px solid #D7D7D7;
    font-size:8pt;line-height:1.5;color:#565656}
  .ps__pied b{color:#0F1941;font-weight:400}
  .ps__vide{font-size:11pt;color:#565656}
}
