/* Securitepaie.com : simulateur du coût d'un agent de sécurité
   Complète style.css (charte navy / or / ivoire). */

.sim-section{padding:20px 0 40px;}
.sim-intro{padding-bottom:20px;}
.sim-root{min-width:0;}
.sim-root *{min-width:0;}

.sim-bloc{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px;margin-bottom:22px;box-shadow:0 4px 14px rgba(13,42,77,.05);
}
.sim-h2{font-size:1.35rem;margin:0 0 .7em;}
.sim-h3{font-size:1.1rem;margin:1.4em 0 .6em;}
.sim-h4{font-size:1rem;margin:1.4em 0 .6em;}
.sim-note{font-size:.88rem;color:var(--grey-text);}
.sim-requis{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--navy-dark);background:var(--gold-light);border-radius:4px;padding:1px 6px;margin-left:4px;vertical-align:middle;}

/* Champs */
.sim-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px 16px;}
.sim-grille-entreprise{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));}
.sim-champ{display:flex;flex-direction:column;}
.sim-champ label, .sim-ligne-tete label span{font-size:.8rem;font-weight:600;color:var(--navy);line-height:1.3;margin-bottom:5px;}
.sim-champ small{font-size:.76rem;color:var(--grey-text);margin-top:4px;line-height:1.35;}
.sim-root input[type="text"], .sim-root input[type="datetime-local"], .sim-root select{
  width:100%;max-width:100%;font:inherit;font-size:.92rem;color:var(--navy-dark);
  background:var(--ivoire);border:1px solid var(--border);border-radius:6px;padding:8px 10px;
}
.sim-champ label{flex:1 0 auto;}
.sim-root input:focus, .sim-root select:focus{outline:2px solid var(--gold);background:var(--white);}
.sim-root input.sim-invalide{border-color:#B42318;background:#FEF3F2;}
.sim-root input::placeholder{color:#9AA5B1;font-style:italic;}
.sim-large{grid-column:span 2;}

/* Lignes de poste (cartes) */
.sim-ligne{border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:8px;padding:16px;margin-bottom:16px;background:#FCFBF8;}
.sim-ligne-tete{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:10px;}
.sim-ligne-num{font-family:var(--font-title);font-weight:700;color:var(--navy);font-size:1.05rem;align-self:center;}
.sim-ligne-tete label{display:flex;flex-direction:column;}
.sim-ligne-lib{flex:1 1 220px;}
.sim-ligne-nb{flex:0 0 130px;}
.sim-suppr{background:none;border:1px solid #D0D5DD;border-radius:6px;padding:8px 12px;font:inherit;font-size:.85rem;color:#B42318;cursor:pointer;}
.sim-suppr:disabled{opacity:.4;cursor:not-allowed;}
.sim-groupe{border:0;border-top:1px solid var(--border);margin:12px 0 0;padding:12px 0 0;}
.sim-groupe legend{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);padding:0 6px 0 0;}
.sim-ligne-alertes ul{list-style:none;margin:12px 0 0;padding:10px 12px;background:#FFF8E6;border:1px solid #F3D68B;border-radius:6px;}
.sim-ligne-alertes li{font-size:.85rem;color:#7A5300;margin:2px 0;}
.sim-ligne-alertes:empty{display:none;}

.sim-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.sim-btn{padding:10px 18px;font-size:.88rem;}
.btn-outline-navy{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn-outline-navy:hover{background:var(--navy);color:var(--white);}

/* Paramètres */
.sim-params > summary{cursor:pointer;list-style-position:inside;}
.sim-params > summary .sim-h2{display:inline;margin:0;}
.sim-sous{font-size:.88rem;color:var(--grey-text);}
.sim-params[open] > summary{margin-bottom:12px;}
.sim-val{display:inline-flex;align-items:center;gap:6px;}
.sim-val input[type="text"]{width:110px;text-align:right;padding:6px 8px;}
.sim-val span{font-size:.85rem;color:var(--grey-text);}
.sim-lie{font-weight:600;color:var(--navy);}

/* Avertissement et résultats */
.sim-avert-texte{background:#F5F7FA;border:1px solid rgba(15,40,60,.12);border-left:4px solid var(--navy);border-radius:6px;padding:14px 16px;}
.sim-avert-texte p{font-size:.88rem;margin:0;color:var(--navy-dark);}
.sim-case{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-weight:600;color:var(--navy);cursor:pointer;}
.sim-case input{width:18px;height:18px;margin-top:3px;flex-shrink:0;}
.sim-attente{background:#FFF8E6;border:1px solid #F3D68B;border-radius:6px;padding:12px 16px;}
.sim-attente p{margin:0 0 4px;color:#7A5300;}
.sim-attente ul{margin:0 0 0 1.2em;}
.sim-attente li{color:#7A5300;font-size:.9rem;}
.sim-alerte{background:#FFF8E6;border:1px solid #F3D68B;border-radius:6px;padding:12px 16px;margin-top:16px;font-size:.88rem;color:#7A5300;}
.sim-alerte[hidden], .sim-attente[hidden], .sim-resultats[hidden]{display:none;}

.sim-synthese{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px;}
.sim-kpi{background:var(--navy);color:var(--white);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:6px;}
.sim-kpi span{font-size:.8rem;color:#C9D3DE;line-height:1.3;}
.sim-kpi strong{font-family:var(--font-title);font-size:1.5rem;color:var(--white);}
.sim-kpi-or{background:var(--gold);}
.sim-kpi-or span{color:var(--navy-dark);}
.sim-kpi-or strong{color:var(--navy-dark);}

.sim-tab-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px;}
.sim-table{width:100%;border-collapse:collapse;font-size:.84rem;background:var(--white);}
.sim-table th, .sim-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left;}
.sim-table thead th{background:#F1EEE6;color:var(--navy);font-weight:700;font-size:.76rem;line-height:1.3;}
.sim-table .num{text-align:right;white-space:nowrap;}
.sim-table thead th.num{white-space:normal;}
.sim-table tbody th{font-weight:600;color:var(--navy);min-width:130px;}
.sim-table tr.sim-total th, .sim-table tr.sim-total td{background:#FBF4DF;font-weight:700;color:var(--navy-dark);}
.sim-table-params td{color:var(--grey-text);}
.sim-table-params td:first-child{color:var(--navy-dark);}
.sim-details{margin-top:18px;}
.sim-details > summary{cursor:pointer;font-weight:600;color:var(--navy);margin-bottom:10px;}
.sim-verif{margin:16px 0 0;}
.sim-verif a{font-weight:700;color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;}

.sim-pied{border-top:2px solid var(--border);padding-top:16px;}
.sim-pied p{font-size:.8rem;color:var(--grey-text);}

.sim-aide li{margin-bottom:.8em;}

/* Menu mobile du site : sur cette page, le menu fermé est masqué sur place
   plutôt que décalé hors écran, ce qui supprimait tout défilement horizontal
   parasite à 375 px. */
@media (max-width:920px){
  nav.main-nav{transform:none;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s ease;}
  nav.main-nav.open{transform:none;visibility:visible;opacity:1;}
}

/* Tablette */
@media (max-width:920px){
  .sim-synthese{grid-template-columns:1fr;}
}

/* Téléphone : chaque ligne de tableau devient une carte */
@media (max-width:760px){
  .sim-bloc{padding:16px;}
  .sim-ligne{padding:12px;}
  .sim-grille{grid-template-columns:1fr 1fr;gap:12px;}
  .sim-grille-entreprise{grid-template-columns:1fr;}
  .sim-large{grid-column:1 / -1;}
  .sim-ligne-nb{flex:1 1 120px;}
  .sim-tab-scroll{overflow:visible;border:0;}
  .sim-table, .sim-table tbody, .sim-table tr, .sim-table th, .sim-table td{display:block;width:100%;}
  .sim-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .sim-table tr{border:1px solid var(--border);border-radius:8px;margin-bottom:12px;overflow:hidden;background:var(--white);}
  .sim-table tbody th{background:#F1EEE6;border-bottom:1px solid var(--border);}
  .sim-table td{display:flex;justify-content:space-between;gap:12px;text-align:right;}
  .sim-table tbody th{min-width:0;}
  .sim-table td::before{content:attr(data-label);text-align:left;font-weight:600;color:var(--navy);flex:1 1 auto;white-space:normal;}
  .sim-table td:last-child{border-bottom:0;}
  .sim-table-params td{text-align:left;flex-wrap:wrap;}
  .sim-table-params td::before{flex:1 1 100%;}
  .sim-table-params td:first-child::before{display:none;}
}
@media (max-width:400px){
  .sim-grille{grid-template-columns:1fr;}
}
.sim-table tr.sim-inapplicable td{opacity:.45;}
.sim-table tr.sim-inapplicable input{background:#F2F4F7;}
