/* ===== MAB ERP — Outils gratuits — styles partagés ===== */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.tool-card{display:flex;flex-direction:column;gap:.6rem;padding:1.6rem;border-radius:16px;background:#fff;
  border:1px solid rgba(20,20,30,.08);box-shadow:0 4px 18px rgba(20,20,30,.05);text-decoration:none;color:inherit;
  transition:transform .2s ease,box-shadow .2s ease}
.tool-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(20,20,30,.1)}
.tool-card .tool-badge{display:inline-flex;align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;color:#9a5b00;background:#fff2d9;padding:.25rem .6rem;border-radius:999px}
.tool-card .tool-icon{font-size:1.8rem;line-height:1}
.tool-card h3{margin:.2rem 0 0;font-size:1.15rem}
.tool-card p{margin:0;color:#5b616e;font-size:.92rem;line-height:1.5;flex:1}
.tool-card .tool-link{font-weight:700;color:#c8720a;font-size:.9rem}

.calc-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:start;margin-top:2rem}
@media (max-width:860px){.calc-wrap{grid-template-columns:1fr}}
.calc-card{background:#fff;border:1px solid rgba(20,20,30,.08);border-radius:18px;padding:1.75rem;
  box-shadow:0 4px 18px rgba(20,20,30,.05)}
.calc-card h2{margin-top:0;font-size:1.2rem}
.calc-field{margin-bottom:1.1rem}
.calc-field label{display:block;font-size:.85rem;font-weight:600;color:#3a3f47;margin-bottom:.35rem}
.calc-field .hint{font-weight:400;color:#8b909a;font-size:.78rem;margin-left:.3rem}
.calc-field input[type=number],.calc-field input[type=text],.calc-field select{
  width:100%;padding:.65rem .8rem;border-radius:10px;border:1px solid #dcdfe4;font-size:.95rem;
  background:#fbfbfc;transition:border-color .15s ease,box-shadow .15s ease}
.calc-field input:focus,.calc-field select:focus{outline:none;border-color:#e6a13c;box-shadow:0 0 0 3px rgba(230,161,60,.18)}
.calc-row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.calc-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
@media (max-width:520px){.calc-row2,.calc-row3{grid-template-columns:1fr}}
.calc-btn{appearance:none;border:none;cursor:pointer;width:100%;padding:.85rem 1rem;border-radius:12px;
  font-weight:700;font-size:1rem;background:linear-gradient(135deg,#f5a623,#e07b0e);color:#fff;
  box-shadow:0 6px 16px rgba(224,123,14,.3)}
.calc-btn:hover{filter:brightness(1.04)}
.calc-btn.ghost{background:#fff;color:#c8720a;border:1px solid #e6a13c;box-shadow:none;font-weight:600}
.calc-btn.excel{background:linear-gradient(135deg,#1e9e5a,#137a43);box-shadow:0 6px 16px rgba(19,122,67,.28)}
.calc-btn.excel:before{content:"⬇ ";}
.calc-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}
@media (max-width:520px){.calc-actions{grid-template-columns:1fr}}

.calc-results{position:sticky;top:1rem}
.result-hero{background:linear-gradient(135deg,#1b2430,#2b3646);color:#fff;border-radius:18px;padding:1.75rem;
  text-align:center;box-shadow:0 10px 26px rgba(27,36,48,.25)}
.result-hero .label{font-size:.82rem;opacity:.75;text-transform:uppercase;letter-spacing:.04em}
.result-hero .value{font-size:2.2rem;font-weight:800;margin:.35rem 0;color:#ffc670}
.result-hero .sub{font-size:.85rem;opacity:.7}
.result-table{margin-top:1.1rem;background:#fff;border:1px solid rgba(20,20,30,.08);border-radius:14px;
  padding:1.1rem 1.3rem;box-shadow:0 4px 18px rgba(20,20,30,.04)}
.result-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;
  border-bottom:1px dashed #e7e8ec;font-size:.92rem}
.result-row:last-child{border-bottom:none}
.result-row b{color:#1b2430}
.result-bar{height:8px;border-radius:999px;background:#eef0f3;overflow:hidden;margin-top:.4rem}
.result-bar span{display:block;height:100%;background:linear-gradient(90deg,#f5a623,#e07b0e)}
.calc-note{margin-top:1rem;font-size:.8rem;color:#8b909a;line-height:1.5}
.badge-ok{color:#1a7f4b;font-weight:700}
.badge-warn{color:#b5790a;font-weight:700}
.badge-bad{color:#c93838;font-weight:700}

.devis-table{width:100%;border-collapse:collapse;margin-top:1rem}
.devis-table th,.devis-table td{padding:.55rem .5rem;border-bottom:1px solid #e7e8ec;font-size:.88rem;text-align:left}
.devis-table th{color:#8b909a;font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.03em}
.devis-table input{width:100%;border:1px solid #dcdfe4;border-radius:8px;padding:.4rem .5rem;font-size:.88rem;background:#fbfbfc}
.devis-table td.num{text-align:right}
.devis-rm{background:none;border:none;color:#c93838;cursor:pointer;font-size:1.1rem}
.devis-totals{max-width:340px;margin-left:auto;margin-top:1rem}
.devis-totals .result-row b{font-variant-numeric:tabular-nums}

@media print{
  header,.page-hero,.gal-filters,.cta-band,footer,.no-print{display:none!important}
  .calc-wrap{grid-template-columns:1fr}
  body{background:#fff}
}

.tool-badge.hot{color:#b02a2a;background:#ffe3d9}

/* ===== Catalogue complet — tools-all ===== */
.tools-all{padding-bottom:2rem}
.tools-all-head{max-width:820px;margin:0 auto 2.5rem;text-align:center}
.tools-all-head .eyebrow{display:inline-flex;align-items:center;font-size:.78rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:#c8720a;background:#fff2d9;padding:.3rem .8rem;
  border-radius:999px;margin-bottom:.9rem}
.tools-all-head h2{font-size:2rem;margin:.3rem 0 1rem;line-height:1.25}
.tools-all-head .gradient-text{background:linear-gradient(135deg,#f5a623,#e07b0e);-webkit-background-clip:text;
  background-clip:text;color:transparent}
.tools-all-head .lead{color:#5b616e;font-size:1rem;line-height:1.6;margin:0 auto}
.tools-all-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1.4rem;margin-top:1.4rem}
.tools-all-legend .legend-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;
  font-weight:600;color:#3a3f47}
.tools-all-legend .dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.tools-all-legend .dot.free{background:#1e9e5a}
.tools-all-legend .dot.pro{background:#e07b0e}

.tools-all-group{background:#fff;border:1px solid rgba(20,20,30,.08);border-radius:18px;
  padding:1.6rem 1.8rem;box-shadow:0 4px 18px rgba(20,20,30,.05);margin-bottom:1.5rem}
.tools-all-group h3{display:flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;font-size:1.1rem;
  color:#1b2430;padding-bottom:.9rem;border-bottom:1px solid #eef0f3}
.tools-all-group h3 span{font-size:1.3rem;line-height:1}
.tools-all-group h3 em{margin-left:auto;font-style:normal;font-size:.75rem;font-weight:600;
  color:#8b909a;background:#f4f5f7;padding:.25rem .65rem;border-radius:999px}

.tools-all-list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem .9rem}
.tools-all-list li{position:relative;padding:.55rem .5rem .55rem 1.5rem;font-size:.9rem;
  line-height:1.4;border-radius:8px}
.tools-all-list li::before{content:"";position:absolute;left:0;top:.85rem;width:8px;height:8px;
  border-radius:50%}
.tools-all-list li.free::before{background:#1e9e5a}
.tools-all-list li.pro::before{background:#e07b0e}
.tools-all-list li.free a{color:#1b2430;text-decoration:none;font-weight:600;transition:color .15s ease}
.tools-all-list li.free a:hover{color:#c8720a;text-decoration:underline}
.tools-all-list li.pro span{color:#9299a3;font-weight:500}
.tools-all-list li.pro{background:#fbfbfc}

.tools-all-foot{margin-top:2rem;text-align:center;background:linear-gradient(135deg,#1b2430,#2b3646);
  color:#fff;border-radius:18px;padding:2.2rem 1.8rem;box-shadow:0 10px 26px rgba(27,36,48,.25)}
.tools-all-foot p{max-width:640px;margin:0 auto 1.4rem;font-size:.95rem;line-height:1.6;color:#dfe3e9}
.tools-all-foot p b{color:#ffc670}
.tools-all-foot .hero-cta{display:flex;justify-content:center}

.hero-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.8rem;border-radius:12px;
  font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn-amber{background:linear-gradient(135deg,#f5a623,#e07b0e);color:#fff;box-shadow:0 8px 20px rgba(224,123,14,.35)}
.btn-amber:hover{filter:brightness(1.05)}

@media (max-width:640px){
  .tools-all-group{padding:1.3rem 1.2rem}
  .tools-all-list{grid-template-columns:1fr}
  .tools-all-head h2{font-size:1.6rem}
}