/* Simulateur de prix — l'outil de chiffrage du professionnel (btobjob, 26/09/2026), dans « Mon simulateur de prix ».
   Un seul bloc : en-tête bleu (titre, pastille, onglets d'activités), sections repliables, pied (total, copier). */
.px-sim{background:#fff;border:1px solid #e3e9f1;border-radius:18px;box-shadow:0 18px 40px -22px rgba(0,0,0,.55)}
.px-sim-tete{background:linear-gradient(135deg,#0c376b,#0a2d58);color:#fff;padding:16px 16px 12px;display:grid;gap:10px;border-radius:18px 18px 0 0}
.px-sim-t{display:flex;justify-content:space-between;align-items:center;gap:8px 10px;flex-wrap:wrap}
.px-sim-t h3{margin:0;font-size:18px;font-weight:800;color:#fff}
.px-sim-origine{font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px;background:rgba(255,255,255,.18);color:#fff}
.px-sim-onglets{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.px-sim-onglets::-webkit-scrollbar{display:none}
.px-sim-onglets button{flex:none;font:inherit;font-size:14px;font-weight:700;border:0;border-radius:999px;padding:8px 14px;min-height:40px;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}
.px-sim-onglets button[aria-pressed="true"]{background:#fff;color:#0c376b}
.px-sim-corps{padding:10px 12px 4px;display:grid;gap:8px}
.px-sim-section{border:1px solid #e3e9f1;border-radius:12px;overflow:hidden;background:#fff}
.px-sim-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;min-height:48px;font-weight:700;font-size:15px;background:#f3f6fa;color:#10131b}
.px-sim-section>summary::-webkit-details-marker{display:none}
.px-sim-n{font-size:12.5px;font-weight:600;color:#67748a}
.px-sim-ch{font-size:20px;line-height:1;color:#67748a;transition:transform .15s}
.px-sim-section[open]>summary .px-sim-ch{transform:rotate(90deg)}
.px-sim-art{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:11px 14px;border-top:1px solid #e9eef4;cursor:pointer}
.px-sim-art:hover{background:#f7f9fc}
.px-sim-art.on{background:#eef7e6}
.px-sim-nom{font-size:14.5px;line-height:1.35;color:#10131b;min-width:0}
.px-sim-art.on .px-sim-nom::before{content:"✓ ";color:#1f7a3a;font-weight:800}
.px-sim-px{font-weight:700;font-size:14px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;color:#10131b}
.px-sim-px small{display:block;font-weight:500;font-size:12px;color:#67748a}
.px-sim-qte{grid-column:1 / -1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:#67748a}
.px-sim-pas{display:inline-flex;align-items:center;border:1px solid #c9d3e0;border-radius:10px;overflow:hidden;background:#fff}
.px-sim-pas button{font:inherit;width:44px;height:44px;border:0;background:transparent;color:#10131b;font-size:20px;cursor:pointer}
.px-sim-pas input{width:64px;height:44px;border:0;border-inline:1px solid #c9d3e0;text-align:center;font:inherit;font-size:15px;font-weight:700;color:#10131b;background:transparent;font-variant-numeric:tabular-nums}
.px-sim-pied{background:#fff;border-top:1px solid #e3e9f1;border-radius:0 0 18px 18px;padding:12px 14px 14px;display:grid;gap:8px}
.px-sim-total{display:flex;justify-content:space-between;align-items:baseline;gap:4px 10px;flex-wrap:wrap}
.px-sim-total small{color:#67748a;font-size:13px}
.px-sim-total b{font-size:22px;font-weight:800;color:#0c376b;font-variant-numeric:tabular-nums}
.px-sim-envoyer{font:inherit;font-weight:700;font-size:15px;min-height:48px;border:0;border-radius:12px;padding:12px 16px;background:#8abf56;color:#10131b;cursor:pointer}
.px-sim-envoyer[disabled]{opacity:.5;cursor:not-allowed}
.px-sim-art:focus-visible,.px-sim-onglets button:focus-visible,.px-sim-envoyer:focus-visible,.px-sim-pas button:focus-visible,.px-sim-section>summary:focus-visible{outline:2px solid #0c376b;outline-offset:2px}
.px-sim-erreur{margin:0;color:#8a2b22;font-weight:600;font-size:14px}
.px-sim-mention{margin:0;font-size:12px;color:#67748a}
.px-sim-copie{width:100%;min-height:120px;font:inherit;font-size:13px;border:1px solid #c9d3e0;border-radius:8px;padding:8px}
@media (max-width:640px){
  .px-sim-art{grid-template-columns:minmax(0,1fr)}
  .px-sim-px{text-align:left}
}
@media (prefers-reduced-motion:reduce){.px-sim-ch{transition:none}}
