/* =============================================================
   SIMULATEUR ALTERNANCE — For'Mission
   Palette et polices d'après la charte graphique For'Mission.
   Pour modifier les MONTANTS (SMIC, aides, grilles, NPEC), voir le
   bloc CONFIG en haut du code JavaScript (plus bas dans le fichier).
   ============================================================= */

:root{
  --fm-orange:#F25C05;        /* accent principal (chiffres clés, CTA) */
  --fm-orange-fonce:#D93D04;
  --fm-orange-clair:#F99600;
  --fm-jaune:#FFD829;
  --fm-bleu:#00A9E8;          /* les aides = argent qui rentre */
  --fm-bleu-nuit:#002F40;     /* texte principal */
  --fm-gris:#B9BEC4;          /* gris du logo = 1re année */

  --bg:#ffffff;
  --bg-soft:#F4F8FB;
  --card:#ffffff;
  --line:#E5ECF1;
  --text:#002F40;
  --text-soft:#5E6E77;
  --text-faint:#8A99A1;

  --radius:16px;
  --radius-sm:11px;
  --shadow:0 1px 2px rgba(0,47,64,.04), 0 8px 30px rgba(0,47,64,.07);
  --shadow-soft:0 1px 2px rgba(0,47,64,.04);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1120px;margin:0 auto;padding:28px 20px 56px;}

/* ---------- En-tête ---------- */
.head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:26px;}
.head img{height:66px;width:auto;display:block;}
.head-txt{border-left:2px solid var(--line);padding-left:18px;}
.head .eyebrow{
  font-family:'Caveat',cursive;font-size:26px;font-weight:700;
  color:var(--fm-orange);line-height:1;margin-bottom:2px;
}
.head h1{font-size:20px;font-weight:800;margin:0;letter-spacing:-.01em;}
.head p{margin:3px 0 0;color:var(--text-soft);font-size:13.5px;}
@media (max-width:560px){
  .head-txt{border-left:0;padding-left:0;}
  .head img{height:54px;}
}

/* ---------- Onglets mode ---------- */
.modes{
  display:inline-flex;background:var(--bg-soft);border:1px solid var(--line);
  border-radius:999px;padding:5px;gap:4px;margin-bottom:22px;
}
.mode-btn{
  border:0;background:transparent;cursor:pointer;font:inherit;font-weight:600;
  color:var(--text-soft);padding:9px 20px;border-radius:999px;font-size:14px;
  transition:background .18s,color .18s,box-shadow .18s;
}
.mode-btn[aria-selected="true"]{
  background:var(--fm-bleu-nuit);color:#fff;box-shadow:var(--shadow-soft);
}
.mode-btn:focus-visible{outline:3px solid var(--fm-bleu);outline-offset:2px;}

/* ---------- Grille principale ---------- */
.grid{display:grid;grid-template-columns:390px 1fr;gap:22px;align-items:start;}
@media (max-width:880px){.grid{grid-template-columns:1fr;}}

.panel{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow-soft);
}
.panel h2.title{
  font-size:12px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--text-faint);margin:0 0 16px;font-weight:700;
}

/* ---------- Champs ---------- */
.field{margin-bottom:18px;}
.field:last-child{margin-bottom:0;}
.field > label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px;color:var(--text);}
.hint{font-size:12px;color:var(--text-faint);margin-top:6px;line-height:1.4;}

select,input[type=number],input[type=date]{
  width:100%;font:inherit;font-size:14.5px;color:var(--text);
  padding:11px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  background:#fff;transition:border-color .15s,box-shadow .15s;
}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235E6E77' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer;}
select:focus,input[type=number]:focus,input[type=date]:focus{outline:0;border-color:var(--fm-bleu);box-shadow:0 0 0 3px rgba(0,169,232,.16);}

/* Boutons segmentés */
.seg{display:flex;gap:6px;flex-wrap:wrap;}
.seg button{
  flex:1;min-width:74px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;
  padding:10px 8px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  background:#fff;color:var(--text-soft);transition:all .15s;
}
.seg button[aria-pressed="true"]{
  border-color:var(--fm-orange);background:rgba(242,92,5,.07);color:var(--fm-orange-fonce);
}
.seg button:focus-visible{outline:3px solid var(--fm-bleu);outline-offset:2px;}

/* Interrupteur */
.field label.toggle{display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none;position:relative;line-height:1.4;min-height:26px;margin-bottom:0;}
.toggle input{position:absolute;opacity:0;width:0;height:0;margin:0;}
.track{flex:0 0 auto;width:46px;height:26px;border-radius:999px;background:#C4CED6;border:1px solid #AEBAC3;position:relative;transition:background .2s,border-color .2s;box-sizing:border-box;}
.track::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s;}
.toggle input:checked + .track{background:var(--fm-bleu);border-color:var(--fm-bleu);}
.toggle input:checked + .track::after{transform:translateX(20px);}
.toggle input:focus-visible + .track{outline:3px solid var(--fm-bleu);outline-offset:2px;}
.toggle .lbl{font-size:13.5px;font-weight:600;color:var(--text);}

.mode-only{display:none;}

details.adv{margin-top:4px;border-top:1px dashed var(--line);padding-top:16px;}
details.adv summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--fm-bleu);list-style:none;}
details.adv summary::-webkit-details-marker{display:none;}
details.adv summary::before{content:"+ ";font-weight:700;}
details.adv[open] summary::before{content:"– ";}
details.adv .field{margin-top:16px;}

.cert-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;}
.cert-meta a{font-size:12px;font-weight:600;color:var(--fm-bleu);text-decoration:none;}
.cert-meta a:hover{text-decoration:underline;}
#cert-badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;}
#cert-badge.ok{background:rgba(0,169,232,.13);color:#0a6a90;}
#cert-badge.warn{background:rgba(242,92,5,.13);color:var(--fm-orange-fonce);}
.cert-count{font-size:11px;font-weight:600;color:var(--text-faint);}
.req{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--fm-orange-fonce);background:rgba(242,92,5,.12);padding:2px 7px;border-radius:999px;vertical-align:middle;}

.ac{position:relative;}
.ac-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--fm-bleu);pointer-events:none;}
.ac input#cert{width:100%;box-sizing:border-box;padding-left:38px;background-color:#F7FBFE;}
.ac input#cert::placeholder{color:#8FA9B5;}
.ac-drop{
  position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;display:none;
  background:#fff;border:1.5px solid var(--fm-bleu);border-radius:var(--radius-sm);
  box-shadow:var(--shadow);max-height:280px;overflow-y:auto;
}
.ac-drop.open{display:block;}
.ac-item{padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--line);}
.ac-item:last-child{border-bottom:0;}
.ac-item:hover,.ac-item.sel{background:rgba(0,169,232,.08);}
.ac-item .t{font-size:13.5px;font-weight:600;color:var(--text);display:block;line-height:1.3;}
.ac-item .m{font-size:11.5px;color:var(--text-faint);}
.ac-tag{display:inline-block;background:var(--fm-bleu);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;margin-right:7px;vertical-align:middle;letter-spacing:.02em;}
.ac-empty{padding:11px 12px;font-size:12.5px;color:var(--text-faint);}

/* ---------- Résultats ---------- */
.results{display:flex;flex-direction:column;gap:18px;}

.result-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow);
}
.rc-label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.rc-label .dot{width:9px;height:9px;border-radius:50%;flex:none;}

.big{font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;}
.big.orange{color:var(--fm-orange);}
.big.bleu{color:var(--fm-bleu);}
.big .u{font-size:16px;font-weight:600;color:var(--text-soft);margin-left:4px;}
.sub{margin-top:9px;font-size:14px;color:var(--text-soft);}
.sub strong{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums;}
.chip{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:rgba(0,47,64,.06);color:var(--fm-bleu-nuit);margin-top:12px;}

/* Lignes de calcul */
.calc{display:flex;flex-direction:column;gap:2px;margin-top:4px;}
.calc-row{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;font-size:14px;border-bottom:1px solid var(--line);gap:12px;}
.calc-row:last-child{border-bottom:0;}
.calc-row .k{color:var(--text-soft);}
.calc-row .v{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.calc-row.total{margin-top:6px;padding-top:14px;border-top:2px solid var(--fm-bleu-nuit);border-bottom:0;}
.calc-row.total .k{color:var(--text);font-weight:700;font-size:15px;}
.calc-row.total .v{font-size:22px;color:var(--fm-orange);}
.calc-row .v.plus{color:var(--fm-bleu);}
.note-inline{font-size:12.5px;color:var(--text-faint);margin-top:12px;line-height:1.5;}
.note-inline b{color:var(--text-soft);}

/* Signature : barres ascendantes (rappel du logo) */
.bars{display:flex;align-items:flex-end;gap:14px;height:150px;margin-top:6px;padding-top:8px;}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:8px;}
.bar-val{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);}
.bar{width:100%;border-radius:8px 8px 3px 3px;min-height:8px;transition:height .5s cubic-bezier(.2,.8,.2,1);}
.bar-cap{font-size:11.5px;font-weight:600;color:var(--text-faint);text-align:center;}
.bar-col.on .bar{box-shadow:0 0 0 3px rgba(242,92,5,.22);}
.bar-col.on .bar-cap{color:var(--fm-orange-fonce);}

/* ---------- Section prise en charge OPCO ---------- */
.section-lead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.section-lead h2{font-size:15px;font-weight:800;margin:0;}
.section-lead p{margin:0;font-size:13px;color:var(--text-soft);}

.npec-sim{margin-top:22px;}
.npec-cert{margin-bottom:20px;}
.npec-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
@media (max-width:820px){.npec-grid{grid-template-columns:1fr;}}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:420px){.row2{grid-template-columns:1fr;}}

.npec-result{
  background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:20px;
}
.npec-days{font-size:13px;color:var(--text-soft);margin-bottom:6px;}
.npec-days b{color:var(--text);font-variant-numeric:tabular-nums;}
.npec-warn{margin-top:10px;font-size:12px;color:var(--fm-orange-fonce);font-weight:600;}

/* ---------- OPCO ---------- */
.opco-wrap{margin-top:22px;}
.opco-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media (max-width:700px){.opco-grid{grid-template-columns:1fr;}}
.opco-card{
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 16px 14px;
  background:var(--card);transition:border-color .15s,box-shadow .15s;position:relative;
}
.opco-card.match{border-color:var(--fm-orange);box-shadow:0 0 0 3px rgba(242,92,5,.09);}
.opco-card .tag{position:absolute;top:-9px;left:14px;background:var(--fm-orange);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;}
.opco-card h3{margin:2px 0 5px;font-size:15px;font-weight:800;}
.opco-card .sect{font-size:12.5px;color:var(--text-soft);line-height:1.45;margin-bottom:11px;}
.opco-card .links{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12.5px;}
.opco-card a{color:var(--fm-bleu);font-weight:600;text-decoration:none;}
.opco-card a:hover{text-decoration:underline;}
.opco-card .tel{color:var(--text-faint);font-size:12px;}

.npec-box{
  margin-top:16px;background:var(--bg-soft);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:15px 16px;font-size:13px;color:var(--text-soft);line-height:1.55;
}
.npec-box a{color:var(--fm-bleu);font-weight:700;text-decoration:none;}
.npec-box a:hover{text-decoration:underline;}
.npec-box b{color:var(--text);}

/* ---------- Bas de page ---------- */
.foot{margin-top:26px;font-size:11.5px;color:var(--text-faint);line-height:1.6;border-top:1px solid var(--line);padding-top:16px;}
.foot b{color:var(--text-soft);}
.foot .maj{color:var(--fm-orange-fonce);font-weight:700;}

@media (prefers-reduced-motion:reduce){*{transition:none !important;}}