@charset "utf-8";
/* CSS Document */

*,*::before,*::after{box-sizing:border-box}
:root{
  --or:#e84d1c;--or-lt:#fff3ee;--or-bd:#ffd5c2;
  --txt:#222;--mid:#555;--soft:#888;--pale:#aaa;--line:#eee;
  --rad:10px;--shad:0 2px 14px rgba(0,0,0,.08);
  --red:#dc3545;--red-lt:#fff5f5;--red-bd:#f5c6cb;
  --grn:#28a745;
}
body{background:#f0f2f5;font-family:'Segoe UI',Arial,sans-serif;color:var(--txt);margin:0}

.cw{display:flex;align-items:flex-start;max-width:1240px;margin:0 auto;padding:30px 20px;gap:26px}

/* ---- PANNEAU FORMULAIRE ---- */
.fp{flex:0 0 440px;background:#fff;border-radius:var(--rad);padding:26px 24px 30px;
    box-shadow:var(--shad)}
.fp h1{font-size:19px;font-weight:800;margin:0 0 3px}
.fp .sub{font-size:11px;color:var(--pale);margin:0 0 18px}

/* Onglets */
.tabs{display:flex;gap:8px;margin-bottom:22px}
.tab{flex:1;padding:9px 6px;border-radius:6px;font-size:12.5px;font-weight:700;
     text-align:center;cursor:pointer;text-decoration:none;transition:.2s;
     border:2px solid #e0e0e0;background:#fff;color:#777;display:block}
.tab:hover{text-decoration:none;border-color:var(--or);color:var(--or)}
.tab.on{background:var(--or);border-color:var(--or);color:#fff}

/* Titres de section */
.stit{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;
      color:var(--pale);margin:18px 0 9px;padding-bottom:5px;border-bottom:1px solid #f0f0f0}

/* Groupes de champs */
.r2{display:flex;gap:12px}
.r2>.fg{flex:1}
.fg{margin-bottom:11px}
.fg label{display:block;font-size:11.5px;font-weight:600;color:var(--mid);margin-bottom:4px}
.fg label .req{color:var(--red);margin-left:2px;font-size:12px}
.fg small{font-size:10px;color:#ccc;margin-top:2px;display:block}

.fg input,.fg select{
  width:100%;padding:7px 9px;border:1.5px solid #e0e0e0;border-radius:6px;
  font-size:14px;color:var(--txt);background:#fff;outline:none;transition:border .2s,background .2s;
  -moz-appearance:textfield}
.fg input:focus,.fg select:focus{border-color:var(--or)}
.fg input::-webkit-inner-spin-button,.fg input::-webkit-outer-spin-button{opacity:1}

/* Champ invalide */
.fg input.champ-invalide{border-color:var(--red)!important;background:var(--red-lt)!important}
.fg .msg-erreur{color:var(--red);font-size:10px;margin-top:3px;display:none}
.fg input.champ-invalide+.msg-erreur,.fg input.champ-invalide~.msg-erreur{display:block}

/* Alerte globale validation */
.alert-valid{
  background:var(--red-lt);border:1px solid var(--red-bd);color:var(--red);
  padding:9px 13px;border-radius:6px;font-size:11.5px;margin-bottom:12px;display:none;
  font-weight:600}
.alert-valid ul{margin:4px 0 0 14px;padding:0;font-weight:400;font-size:11px}

/* Alerte IP */
.alert-ip{background:#fff3cd;border:1px solid #ffc107;color:#856404;
  padding:9px 13px;border-radius:6px;font-size:11.5px;margin-bottom:12px;display:none}
.ctr{font-size:10.5px;color:#ccc;text-align:right;margin-bottom:7px}
.ctr span{font-weight:700;color:var(--pale)}

/* Bouton */
.btn-calc{width:100%;padding:12px;background:var(--or);color:#fff;border:none;
  border-radius:7px;font-size:14px;font-weight:700;cursor:pointer;margin-top:12px;
  transition:background .2s,transform .1s}
.btn-calc:hover{background:#d03e10}
.btn-calc:active{transform:scale(.98)}

/* ---- PANNEAU RESULTAT ---- */
.rp{flex:1;min-width:0}
.rp>h2{font-size:22px;font-weight:800;margin:0 0 14px;color:var(--txt)}

.res-card{background:#fff;border-radius:var(--rad);box-shadow:var(--shad);
          margin-bottom:14px;display:none;overflow:hidden}

/* Grille 2 colonnes couts / prix de revient */
.res-top{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid #f0f0f0}
.res-col{padding:18px 20px}
.res-col+.res-col{border-left:1px solid #f0f0f0}
.res-col-title{font-size:11px;font-weight:800;text-transform:uppercase;
               letter-spacing:.08em;color:var(--pale);margin-bottom:12px}

/* Lignes de resultats */
.rrow{display:flex;justify-content:space-between;align-items:center;
      padding:7px 0;font-size:13px;border-bottom:1px solid #f9f9f9}
.rrow:last-child{border-bottom:none}
.rrow .rl{color:var(--soft);flex:1;padding-right:8px}
.rrow .rv{font-weight:700;color:var(--txt);white-space:nowrap}
.rrow.tot .rl{font-weight:700;color:var(--txt)}
.rrow.tot .rv{color:var(--or);font-size:15px}

/* Section marge souhaitee */
.marge-bloc{padding:18px 20px}
.marge-bloc-title{
  display:flex;align-items:center;gap:8px;
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:#1a56db;margin-bottom:14px;
  padding-bottom:10px;border-bottom:1px solid #e8effd;
}
.marge-bloc-title i{font-size:14px}
.rrow.marge .rv{color:#1a56db;font-weight:700}

/* Badges */
.badge-pct{
  background:#1a56db;color:#fff;font-size:12px;font-weight:800;
  padding:3px 10px;border-radius:20px;white-space:nowrap}
.badge-eur-blue{
  color:#1a56db;font-size:14px;font-weight:800;white-space:nowrap}
.badge-eur-grn{
  background:#28a745;color:#fff;font-size:13px;font-weight:800;
  padding:4px 12px;border-radius:20px;white-space:nowrap}
.badge-eur-or{
  color:var(--or);font-size:14px;font-weight:800;white-space:nowrap}

/* Ligne marge generee (fond vert leger) */
.rrow.marge-gen{
  background:#f0fff4;border-radius:7px;padding:8px 12px;margin-top:6px;
  border:1px solid #b7ebc8;
}
.rrow.marge-gen .rl{color:#1a7a35;font-weight:700}

/* Ligne temps impression */
.rrow.info .rv{color:var(--soft);font-weight:600}

/* Jauge centree */
.gauge-wrap{padding:8px 20px 20px;display:flex;flex-direction:column;
            align-items:center;border-top:1px solid #f0f0f0;margin-top:0}
.gauge-lbl{font-size:12px;color:var(--soft);margin-bottom:4px;font-weight:600}

@media(max-width:720px){
  .res-top{grid-template-columns:1fr}
  .res-col+.res-col{border-left:none;border-top:1px solid #f0f0f0}
}

/* Info dynamique encre */
.enc-info{background:#f0f7ff;border:1px solid #c7dff7;border-radius:6px;
          padding:7px 10px;margin-top:4px;font-size:10px;color:#2255a0;display:none}

/* ---- TOOLTIP hover ---- */
.tt-wrap{position:relative;display:inline-flex;align-items:center;gap:4px}
.tt-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:15px;height:15px;border-radius:50%;background:#bbb;color:#fff;
  font-size:9px;font-weight:800;cursor:help;flex-shrink:0;
  transition:background .15s;line-height:1;
}
.tt-icon:hover{background:var(--or)}
.tt-box{
  position:absolute;left:50%;bottom:calc(100% + 7px);
  transform:translateX(-50%);
  background:#222;color:#fff;font-size:10.5px;line-height:1.45;
  border-radius:7px;padding:9px 12px;width:230px;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  pointer-events:none;opacity:0;transition:opacity .15s;z-index:200;
  font-weight:400;
}
.tt-box::after{
  content:'';position:absolute;top:100%;left:50%;
  transform:translateX(-50%);
  border:5px solid transparent;border-top-color:#222;
}
.tt-icon:hover .tt-box,
.tt-wrap:hover .tt-box{opacity:1}

/* ---- Choix methode encre ---- */
.enc-choix{display:flex;gap:8px;margin-bottom:12px}
.enc-btn{
  flex:1;padding:7px 6px;border-radius:6px;font-size:11px;font-weight:700;
  text-align:center;cursor:pointer;border:2px solid #e0e0e0;
  background:#fff;color:#777;transition:.2s;line-height:1.3;
}
.enc-btn:hover{border-color:var(--or);color:var(--or)}
.enc-btn.on{background:var(--or);border-color:var(--or);color:#fff}

.enc-panel{display:none}
.enc-panel.on{display:block}

/* ---- Convertisseur cout mensuel machine ---- */
.conv-toggle{
  font-size:10px;color:var(--or);cursor:pointer;font-weight:700;
  text-decoration:underline;margin-top:3px;display:inline-block;
  user-select:none;
}
.conv-toggle:hover{color:#d03e10}
.conv-panel{
  background:#fff8f5;border:1px solid var(--or-bd);border-radius:7px;
  padding:10px 12px;margin-top:8px;display:none;
}
.conv-panel.open{display:block}
.conv-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.conv-row .fg{flex:1;min-width:100px;margin-bottom:0}
.conv-result{
  font-size:11px;color:var(--mid);margin-top:8px;padding:6px 10px;
  background:#fff;border-radius:5px;border:1px solid #eee;
  display:none;
}
.conv-result strong{color:var(--or);font-size:13px}
.conv-btn{
  padding:7px 12px;background:var(--or);color:#fff;border:none;
  border-radius:6px;font-size:11.5px;font-weight:700;cursor:pointer;
  white-space:nowrap;transition:background .2s;flex-shrink:0;
}
.conv-btn:hover{background:#d03e10}
.conv-btn:disabled{background:#ccc;cursor:not-allowed}

@media(max-width:960px){
  .cw{flex-direction:column;padding:16px}
  .fp{flex:none;width:100%;position:static;max-height:none}
}
.titre-card {
  background: #fff;
  border-radius: var(--rad);
  box-shadow: var(--shad);
  padding: 20px 24px;
  margin-bottom: 20px;
}
.titre-card h1 {
  margin: 0 0 4px;
}
.titre-card .sub {
  margin: 0;
}
/* Sous-label */
.res-sublabel{
  font-size:12px;
  color:#aaa;
  margin-bottom:14px;
}
.res-title{
	font-size:18px;
	font-weight:bolder;
	color:#333;
	margin-bottom:14px;
}
/* Header résultat : texte + RESET */
.res-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:5px;
}
.res-top .res-desc{
  font-size:12.5px;
  color:#666;
  line-height:1.5;
}
.btn-reset{
  padding:8px 20px;
  background:#28a745 !important;
  color:#fff !important;
  border:none;
  border-radius:7px;
  font-size:12.5px;
  font-weight:700;
  cursor:pointer;
  flex-shrink:0;
  transition:background .2s;
}
.btn-reset:hover{background:#237a3b !important}
.btn-reset:focus{
  background:var(--gr) !important;
  color:#fff !important;
  outline:none;
}