.inft-tool, .inft-tool *{box-sizing:border-box}
/* Neutralise les styles par défaut du thème WordPress (boutons, titres, liens) qui sinon
   s'invitent dans l'outil — c'est la cause du rouge et des bordures qui ne correspondaient à
   rien de nous : la plupart des thèmes appliquent une couleur globale aux balises <button>,
   <h1>-<h6> et <a> avec une spécificité ou un ordre de chargement qui peut prendre le dessus
   sur nos propres styles. On repart d'une base neutre puis on ré-applique nos couleurs. */
.inft-tool h1, .inft-tool h2, .inft-tool h3, .inft-tool h4, .inft-tool h5, .inft-tool h6,
.inft-tool button, .inft-tool input, .inft-tool select, .inft-tool textarea, .inft-tool a {
  margin:0; padding:0; border:0; background:none; font:inherit; line-height:inherit;
  color:inherit !important; text-decoration:none !important; text-align:left;
  -webkit-appearance:none; appearance:none; letter-spacing:normal;
}
.inft-tool button{cursor:pointer}
.inft-tool a:hover, .inft-tool a:visited, .inft-tool a:active{color:inherit !important; text-decoration:none !important}
.inft-tool{
  --ink:#0B1728; --paper:#F3F5F9; --line:#E4E7EE; --line-2:#D3D8E4; --muted:#5B6478; --text:#101828;
  --accent:#2F5BFF; --accent-2:#2547CC; --accent-soft:#E9EEFF; --mint:#19D3A2; --mint-soft:#E3FBF4; --amber:#F5A623;
  --r-md:12px; --r-lg:18px; --r-xl:22px; --r-pill:999px;
  --shadow-sm:0 2px 10px rgba(16,24,56,.06); --shadow-md:0 10px 30px rgba(16,24,56,.10);
  --ease:cubic-bezier(.22,.61,.36,1); --spring:cubic-bezier(.34,1.56,.64,1);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text); max-width:1080px; margin:0 auto;
}
.inft-tool .inft-loading{padding:40px;text-align:center;color:var(--muted) !important}
.inft-tool .grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start}
@media (max-width:860px){.inft-tool .grid{grid-template-columns:1fr}}

.inft-tool .tool-card{background:#fff !important;border-radius:var(--r-xl);box-shadow:var(--shadow-md);border:1px solid var(--line) !important;overflow:clip}
.inft-tool .stepper{display:flex;gap:6px;padding:14px;background:var(--paper) !important;border-bottom:1px solid var(--line) !important;overflow-x:auto}
.inft-tool .step{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:var(--r-pill);font-size:.85rem;font-weight:600;color:var(--muted) !important;white-space:nowrap;background:transparent !important;border:none !important;cursor:default}
.inft-tool .step.done{cursor:pointer}
.inft-tool .step b{width:22px;height:22px;border-radius:50%;background:#fff !important;border:1.5px solid var(--line-2) !important;display:grid;place-items:center;font-size:.78rem;color:var(--muted) !important}
.inft-tool .step.current{color:var(--text) !important}
.inft-tool .step.current b{background:var(--accent) !important;border-color:var(--accent) !important;color:#fff !important}
.inft-tool .step.done b{background:var(--mint) !important;border-color:var(--mint) !important;color:#fff !important}

.inft-tool .stage-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:22px 22px 0}
.inft-tool .crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:30px;font-size:.85rem;color:var(--muted) !important}
.inft-tool .crumbs button{color:var(--accent) !important;font-weight:600}
.inft-tool .back{display:inline-flex;align-items:center;gap:6px;color:var(--muted) !important;font-weight:500;padding:8px 12px;border-radius:var(--r-pill);background:none !important;border:none !important;cursor:pointer}
.inft-tool .back:hover{background:var(--paper) !important}
.inft-tool .back[hidden]{display:none}
.inft-tool .stage{position:relative;padding:18px 22px 24px;min-height:260px}
.inft-tool .stage-title{color:var(--text) !important;font-weight:700;font-size:1.3rem;letter-spacing:-.01em;margin:0 0 6px}
.inft-tool .stage-sub{color:var(--muted) !important;margin:0 0 16px}

.inft-tool .search{position:relative;margin:4px 0 18px;max-width:520px}
.inft-tool .search input{width:100%;padding:13px 16px;border-radius:var(--r-md);border:1.5px solid var(--line-2) !important;background:#fff !important;font:inherit;font-size:1rem}
.inft-tool .search input:focus{outline:none;border-color:var(--accent) !important;box-shadow:0 0 0 4px rgba(47,91,255,.15)}
.inft-tool .search-results{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 6px);background:#fff !important;border:1px solid var(--line) !important;border-radius:var(--r-md);box-shadow:var(--shadow-md);overflow:hidden;max-height:300px;overflow-y:auto}
.inft-tool .search-results button{display:flex;width:100%;text-align:left;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line) !important;background:#fff !important;border-left:none;border-right:none;border-top:none !important}
.inft-tool .search-results button:last-child{border-bottom:0 !important}
.inft-tool .search-results button:hover{background:var(--paper) !important}
.inft-tool .search-results small{color:var(--muted) !important}

.inft-tool .tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.inft-tool .tile{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px solid var(--line) !important;border-radius:var(--r-md);background:var(--paper) !important;text-align:left;cursor:pointer}
.inft-tool .tile:hover{border-color:var(--accent) !important;background:#fff !important;box-shadow:var(--shadow-sm)}
.inft-tool .tile .ic{width:40px;height:40px;border-radius:12px;background:#fff !important;display:grid;place-items:center;box-shadow:var(--shadow-sm);flex:none}
.inft-tool .tile b{font-weight:700;font-size:.98rem}
.inft-tool .tile small{display:block;color:var(--muted) !important;font-size:.82rem}

.inft-tool .tabs{display:flex;gap:4px;background:var(--paper) !important;padding:4px;border-radius:var(--r-pill);margin-bottom:14px;overflow-x:auto}
.inft-tool .tab{padding:8px 16px;border-radius:var(--r-pill);font-weight:600;font-size:.88rem;color:var(--muted) !important;white-space:nowrap;background:none !important;border:none !important;cursor:pointer;flex:1 0 auto}
.inft-tool .tab.active{background:#fff !important;color:var(--text) !important;box-shadow:var(--shadow-sm)}

.inft-tool .rows{display:grid;gap:6px}
.inft-tool .rows[hidden]{display:none}
.inft-tool .row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1.5px solid var(--line) !important;border-radius:var(--r-md);background:#fff !important;text-align:left}
.inft-tool .row.selectable{cursor:pointer}
.inft-tool .row.on{border-color:var(--accent) !important;background:var(--accent-soft) !important}
.inft-tool .row .chk{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2) !important;display:grid;place-items:center;color:#fff !important;background:#fff !important;flex:none}
.inft-tool .row.on .chk{background:var(--accent) !important;border-color:var(--accent) !important}
.inft-tool .row .chk svg{width:12px;height:12px;opacity:0}
.inft-tool .row.on .chk svg{opacity:1}
.inft-tool .row .chk.na{visibility:hidden}
.inft-tool .row .lab{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-weight:500}
.inft-tool .grade{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--paper) !important;color:var(--muted) !important;border:1px solid var(--line) !important}
.inft-tool .grade.orig{background:var(--mint-soft) !important;color:#0B7A5D !important;border-color:transparent !important}
.inft-tool .grade.oem{background:#E9EEFF !important;color:var(--accent-2) !important;border-color:transparent !important}
.inft-tool .grade.premium{background:#FFF3DC !important;color:#9A5F00 !important;border-color:transparent !important}
.inft-tool .grade.lw{background:#0B1728 !important;color:#fff !important;border-color:transparent !important}
.inft-tool .row .price{font-weight:700;font-size:1rem;white-space:nowrap;text-align:right}
.inft-tool .row .price.ask{font-size:.88rem;color:var(--accent-2) !important;font-weight:600}
.inft-tool .legend{margin-top:14px;font-size:.85rem;color:var(--muted) !important;line-height:1.5}
.inft-tool .indic-banner{display:flex;gap:8px;align-items:center;background:#FFF7E8 !important;color:#8A5A00 !important;border:1px solid #F5D9A0 !important;border-radius:var(--r-md);padding:10px 14px;margin-bottom:14px;font-size:.88rem}

.inft-tool .summary{position:sticky;top:16px;background:var(--ink) !important;color:#fff !important;border-radius:var(--r-lg);padding:22px;display:grid;gap:14px}
.inft-tool .summary .dev{display:flex;align-items:center;gap:12px}
.inft-tool .summary .dev .ic{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.1) !important;display:grid;place-items:center;flex:none}
.inft-tool .summary .dev b{font-size:1rem;display:block}
.inft-tool .summary .dev small{color:rgba(255,255,255,.65) !important}
.inft-tool .summary .sel{display:grid;gap:6px;font-size:.9rem;color:rgba(255,255,255,.85) !important;border-top:1px solid rgba(255,255,255,.12) !important;padding-top:12px;min-height:40px}
.inft-tool .summary .sel li{display:flex;justify-content:space-between;gap:10px;list-style:none}
.inft-tool .summary .sel .empty{color:rgba(255,255,255,.55) !important}
.inft-tool .summary .total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(255,255,255,.12) !important;padding-top:12px}
.inft-tool .summary .total b{font-size:1.6rem}
.inft-tool .summary .total small{color:rgba(255,255,255,.6) !important}
.inft-tool .summary .btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:var(--r-pill);font-weight:600;font-size:.92rem;border:1.5px solid rgba(255,255,255,.3) !important;background:none !important;color:#fff !important;cursor:pointer;width:100%}
.inft-tool .summary .btn.primary{background:#fff !important;color:var(--ink) !important;border-color:transparent !important}
.inft-tool .summary .note{font-size:.78rem;color:rgba(255,255,255,.6) !important}
.inft-tool .icon{width:20px;height:20px;stroke:currentColor;fill:none !important;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.inft-tool .icon.fill{fill:currentColor !important;stroke:none}
