/* Simulateurs Noun Partners : styles communs à tous les simulateurs.
   Tout est sous .np-sim. Aucune police chargée : Figtree et Playfair Display viennent du site.
   Le bouton du CTA utilise les classes du site (button w-button). */

/* Simulateur : deux blocs côte à côte, sur le modèle des articles
   (bloc crème « L'essentiel », rayon 12 px ; bloc sombre de la newsletter, rayon 16 px) */
.np-sim{container:np-sim / inline-size;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px 32px;align-items:start;font-family:Figtree,Arial,sans-serif;color:#121426}
.np-sim *{box-sizing:border-box}
.np-sim__title{margin:0}
.np-sim__form{display:flex;flex-direction:column;gap:24px;margin:0;padding:24px;border-radius:12px;background:#F8F4F0}
.np-sim__field{display:flex;flex-direction:column;gap:8px}
.np-sim__label{margin:0;font-size:16px;font-weight:700}
.np-sim__help{font-size:14px;line-height:1.4;color:rgba(18,20,38,.7)}
/* Champs : ceux des formulaires du site (capsule, bordure sombre) */
.np-sim__input{display:flex;align-items:center;height:53px;border:1px solid #121426;border-radius:50px;background:#fff}
.np-sim__input:focus-within{outline:2px solid #CF9804;outline-offset:2px}
.np-sim__input input,.np-sim__input select{flex:1;min-width:0;height:100%;margin:0;padding:0 20px;border:0;border-radius:50px;background:none;color:inherit;font:inherit;font-size:16px;font-variant-numeric:tabular-nums;outline:0}
.np-sim__unit{padding-right:20px;color:#737373}
/* Choix exclusifs (situation, forme juridique) : boutons radio en capsules */
.np-sim__choices{display:flex;flex-wrap:wrap;gap:8px}
.np-sim__choice{position:relative;display:flex;margin:0;cursor:pointer}
.np-sim__choice input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.np-sim__choice span{display:flex;align-items:center;min-height:45px;padding:0 20px;border:1px solid #121426;border-radius:50px;background:#fff;font-size:15px;font-weight:500}
.np-sim__choice input:checked+span{background:#121426;color:#fff}
.np-sim__choice input:focus-visible+span{outline:2px solid #CF9804;outline-offset:2px}
.np-sim__result{display:flex;flex-direction:column;gap:24px;padding:32px;border-radius:16px;background:#121426;color:#fff}
.np-sim__headline{display:flex;flex-direction:column;gap:4px}
.np-sim__headline-label{font-size:16px;color:#CFD1DE}
.np-sim__headline-value{font-family:"Playfair Display",Georgia,serif;font-size:48px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums lining-nums}
.np-sim__headline-note{font-size:14px;color:#CFD1DE}
.np-sim__lines{border-top:1px solid rgba(255,255,255,.18)}
.np-sim__line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.np-sim__line-label{font-size:16px;color:#CFD1DE}
.np-sim__line-value{font-size:20px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.np-sim__compare{display:flex;flex-direction:column;gap:12px}
.np-sim__compare[hidden]{display:none}
.np-sim__compare-title{font-size:16px;font-weight:700}
.np-sim__bar-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:8px;font-size:14px;color:#CFD1DE}
.np-sim__bar-head strong{font-size:16px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.np-sim__bar{display:flex;height:12px;overflow:hidden;background:#272A4A}
.np-sim__bar span{display:block;height:100%}
.np-sim__bar-net{background:#CF9804}
.np-sim__bar-ps{background:#C3A583}
.np-sim__bar-ir{background:#9698AE}
.np-sim__legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:4px;font-size:13px;color:#CFD1DE}
.np-sim__legend span{display:flex;align-items:center;gap:6px;background:none}
.np-sim__legend span:before{content:"";width:10px;height:10px;background:#CF9804}
.np-sim__legend .np-sim__bar-ps:before{background:#C3A583}
.np-sim__legend .np-sim__bar-ir:before{background:#9698AE}
.np-sim__disclaimer{grid-column:1/-1;margin:4px 0 0;font-size:14px;line-height:1.5;color:#737373}

/* Colonne de droite qui empile le bloc résultat et un schéma, à côté d'un formulaire long */
.np-sim__droite{display:flex;flex-direction:column;gap:20px;min-width:0}
/* Schéma en étapes, dans le style des schémas Noun : boîtes blanches à bord sombre, flèches avec le montant
   en gras et sa nature en gris, une seule boîte or. La place de chaque élément dans la grille est dans l'embed */
.np-sim__schema{padding:24px;border-radius:12px;background:#F8F4F0}
.np-sim__schema-titre{margin:0 0 20px;font-family:"Playfair Display",Georgia,serif;font-size:24px;font-weight:600;line-height:1.2}
.np-sim__schema-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px}
.np-sim__schema-entete{margin-bottom:12px;font-size:16px;font-weight:700;text-align:center}
.np-sim__boite{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border:2px solid #121426;border-radius:16px;background:#fff;text-align:center}
.np-sim__boite-accent{background:#CF9804}
.np-sim__boite-valeur{font-size:24px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.np-sim__boite-label{font-size:14px;line-height:1.3}
.np-sim__fleche{display:flex;flex-direction:column;align-items:center;text-align:center}
.np-sim__fleche:before{content:"";flex:1;min-height:10px;border-left:2px solid #121426}
.np-sim__fleche-montant{padding-top:4px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
/* Flèche d'un ajout (gains) : le montant dans une pilule blanche, plus grand */
.np-sim__fleche-plus .np-sim__fleche-montant{margin-top:4px;padding:4px 14px;border:2px solid #121426;border-radius:50px;background:#fff;font-size:18px}
.np-sim__fleche-plus .np-sim__fleche-nom{padding-top:4px;font-weight:600;color:#121426}
.np-sim__fleche-nom{font-size:13px;line-height:1.3;color:rgba(18,20,38,.7)}
.np-sim__pointe{flex:1;display:flex;flex-direction:column;align-items:center;padding-top:4px}
.np-sim__pointe:before{content:"";flex:1;min-height:8px;border-left:2px solid #121426}
.np-sim__pointe:after{content:"";border:7px solid transparent;border-top:10px solid #121426;border-bottom:0}
.np-sim__schema-sous-titre{margin:-12px 0 20px;font-size:14px;line-height:1.4;color:rgba(18,20,38,.7)}
/* Tableau sous le schéma : le même calcul à plusieurs durées */
.np-sim__horizons{margin-top:24px;padding-top:20px;border-top:1px solid #CFD1DE}
.np-sim__horizons-titre{margin-bottom:8px;font-size:16px;font-weight:700}
.np-sim__horizons-grille{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);font-size:16px;font-variant-numeric:tabular-nums}
.np-sim__horizons-grille span{padding:8px 0 8px 16px;border-bottom:1px solid #E7E8F1;text-align:right;white-space:nowrap}
.np-sim__horizons-grille span:nth-child(3n+1){padding-left:0;text-align:left;font-weight:600}
.np-sim__horizons-entete{font-size:14px;color:rgba(18,20,38,.7)}
/* CTA placé dans la colonne de droite, juste sous le résultat */
.np-sim__droite .np-sim__next{flex-direction:column;align-items:flex-start;gap:20px;margin-top:0}

/* CTA sous le calcul : fond doré clair des encarts auteur du site */
.np-sim__next{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:12px;padding:24px 32px;border-radius:16px;background:#FFF9EB}
.np-sim__next-content{display:flex;flex-direction:column;gap:8px;max-width:62ch}
.np-sim__next-title{margin:0}
.np-sim__next-text{margin:0;font-size:16px;line-height:1.5}
.np-sim__next-action{flex-shrink:0}

/* Le gabarit retire 80 px à la largeur desktop : 991 - 80 = 911 px.
   Les deux blocs occupent toute la grille quand le conteneur est étroit.
   Sur grand écran, les marges de 4 et 12 px conservent les espacements du gabarit. */
@container np-sim (max-width:911px){
  .np-sim__form,.np-sim__result,.np-sim__droite{grid-column:1/-1}
  .np-sim__headline-value{font-size:40px}
  .np-sim__disclaimer{margin-top:0}
  .np-sim__next{flex-direction:column;align-items:flex-start;gap:20px;margin-top:0}
}
/* Conserver les espacements mobiles du gabarit, dont les marges changent à 767 px. */
@media (max-width:767px){
  .np-sim__form,.np-sim__schema{padding:20px}
  .np-sim__boite{padding:12px 6px}
  .np-sim__boite-valeur{font-size:20px}
  .np-sim__result{padding:24px 20px}
  .np-sim__next{padding:20px}
  .np-sim__headline-value{font-size:34px}
  .np-sim__line-label{font-size:15px}
  .np-sim__line-value{font-size:18px}
}
