/* TPC26 Configurateur PC — reprend les tokens du thème tuningpc-child (--tpc-*) avec des valeurs de secours */
.tpc-cfg-page .tpc-page-article{max-width:1280px;padding:40px 32px}
.tpc-cfg{--c-red:var(--tpc-red,#c02020);--c-blue:var(--tpc-blue,#0066ff);--c-border:var(--tpc-border,#e4e7ef);
  --c-soft:var(--tpc-bg-soft,#f0f2f8);--c-text:var(--tpc-text,#0f172a);--c-dim:var(--tpc-text-dim,#64748b);
  --c-muted:var(--tpc-text-muted,#94a3b8);font-size:15px;line-height:1.5;color:var(--c-text)}
.tpc-cfg-loading,.tpc-cfg-empty{color:var(--c-dim);padding:16px 0}
.tpc-cfg-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}

/* étapes */
.tpc-cfg-step{border:1px solid var(--c-border);border-radius:4px;background:#fff;margin-bottom:10px}
.tpc-cfg-step.is-open{border-color:var(--c-text)}
.tpc-cfg-step-head{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;cursor:pointer}
.tpc-cfg-step-head:focus-visible{outline:2px solid var(--c-blue);outline-offset:-2px}
.tpc-cfg-step-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--c-muted);min-width:22px}
.tpc-cfg-step.is-done .tpc-cfg-step-num{color:#15803d}
.tpc-cfg-step.is-todo .tpc-cfg-step-num{color:var(--c-red)}
.tpc-cfg-step-title{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:17px;flex:0 0 auto;display:flex;flex-direction:column}
.tpc-cfg-step-title small{font-family:Inter,sans-serif;font-weight:400;font-size:12px;color:var(--c-dim)}
.tpc-cfg-step.is-todo .tpc-cfg-step-title small{color:var(--c-red)}
.tpc-cfg-step-pick{margin-left:auto;text-align:right;font-size:13px;color:var(--c-text);max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpc-cfg-step-pick b{display:block;font-weight:700}
.tpc-cfg-step-pick.is-empty{color:var(--c-dim)}
.tpc-cfg-step-body{padding:4px 16px 16px;border-top:1px solid var(--c-border)}
.tpc-cfg-search{width:100%;margin:12px 0 4px;padding:9px 12px;border:1px solid var(--c-border);border-radius:4px;font:inherit}
.tpc-cfg-remove{all:unset;cursor:pointer;margin-top:12px;font-size:13px;color:var(--c-red);text-decoration:underline}

/* cartes produit */
.tpc-cfg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:12px}
.tpc-cfg-card{position:relative;border:1px solid var(--c-border);border-radius:4px;background:#fff;transition:border-color .15s,box-shadow .15s}
.tpc-cfg-card:hover{border-color:var(--c-dim)}
.tpc-cfg-card.is-selected{border-color:var(--c-red);box-shadow:0 0 0 1px var(--c-red) inset;background:var(--tpc-red-soft,#fff0f0)}
.tpc-cfg-card-main{all:unset;box-sizing:border-box;cursor:pointer;width:100%;height:100%;display:grid;grid-template-columns:64px 1fr;
  grid-template-rows:auto 1fr auto;column-gap:10px;row-gap:4px;padding:10px 10px 10px 10px}
.tpc-cfg-card-main:focus-visible{outline:2px solid var(--c-blue);outline-offset:-2px}
.tpc-cfg-info{all:unset;cursor:pointer;position:absolute;right:8px;bottom:8px;font-size:12px;padding:2px 8px;border:1px solid var(--c-border);
  border-radius:3px;background:#fff;color:var(--c-dim)}
.tpc-cfg-info:hover,.tpc-cfg-info:focus-visible{border-color:var(--c-blue);color:var(--c-blue)}
.tpc-cfg-qty{display:flex;align-items:center;gap:10px;margin-top:12px;font-weight:600;font-size:14px}
.tpc-cfg-qty select{padding:6px 8px;font:inherit;font-weight:400}
.tpc-cfg-delay{margin:14px 0 0;padding:10px 12px;background:var(--tpc-blue-soft,#eef4ff);border-left:3px solid var(--c-blue);font-size:14px}
.tpc-cfg-delay small{display:block;color:var(--c-dim);font-size:12px;margin-top:2px}
.tpc-cfg-notice{color:var(--c-red)}

/* fiche produit (popup) */
.tpc-cfg-dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--tpc-border,#e4e7ef);
  border-radius:6px;color:var(--tpc-text,#0f172a);background:#fff}
.tpc-cfg-dialog::backdrop{background:rgba(15,23,42,.55)}
.tpc-cfg-dlg-in{position:relative;padding:28px;overflow:auto}
.tpc-cfg-dlg-close{all:unset;cursor:pointer;position:absolute;top:10px;right:14px;font-size:28px;line-height:1;color:var(--tpc-text-dim,#64748b)}
.tpc-cfg-dlg-close:hover{color:var(--tpc-red,#c02020)}
.tpc-cfg-dlg-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px}
.tpc-cfg-dlg-main{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid var(--tpc-border-soft,#eef0f6)}
.tpc-cfg-dlg-thumbs{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.tpc-cfg-dlg-thumbs button{all:unset;cursor:pointer;width:56px;height:56px;border:1px solid var(--tpc-border,#e4e7ef);border-radius:3px}
.tpc-cfg-dlg-thumbs img{width:100%;height:100%;object-fit:contain}
.tpc-cfg-dlg-head h3{font-family:'Chakra Petch',sans-serif;font-size:21px;margin:0 28px 8px 0;line-height:1.3}
.tpc-cfg-dlg-price{font-size:24px;font-weight:700;margin:0 0 4px}
.tpc-cfg-dlg-price small{font-size:12px;font-weight:400;color:var(--tpc-text-dim,#64748b)}
.tpc-cfg-dlg-short{font-size:14px;margin-top:10px}
.tpc-cfg-dlg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px}
.tpc-cfg-dlg-link{font-size:14px;color:var(--tpc-blue,#0066ff)}
.tpc-cfg-dialog h4{font-family:'Chakra Petch',sans-serif;font-size:16px;margin:24px 0 8px}
.tpc-cfg-dlg-specs{width:100%;border-collapse:collapse;font-size:13px}
.tpc-cfg-dlg-specs th,.tpc-cfg-dlg-specs td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--tpc-border-soft,#eef0f6);vertical-align:top}
.tpc-cfg-dlg-specs th{width:42%;color:var(--tpc-text-dim,#64748b);font-weight:500}
.tpc-cfg-dlg-desc{font-size:14px;line-height:1.65}
@media (max-width:700px){
  .tpc-cfg-dlg-in{padding:20px 16px}
  .tpc-cfg-dlg-top{grid-template-columns:1fr;gap:16px}
  .tpc-cfg-dlg-main{max-height:260px}
}
.tpc-cfg-card img{grid-row:1/4;width:64px;height:64px;object-fit:contain;background:#fff}
.tpc-cfg-card-name{font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tpc-cfg-card-specs{display:flex;flex-wrap:wrap;gap:4px}
.tpc-cfg-card-specs i{font-style:normal;font-size:11px;padding:1px 6px;border-radius:3px;background:var(--c-soft);color:var(--c-dim)}
.tpc-cfg-card-price{font-weight:700;font-size:15px}

/* récapitulatif */
.tpc-cfg-summary{position:sticky;top:24px}
.tpc-cfg-summary-in{border:1px solid var(--c-border);border-radius:4px;padding:20px;background:#fff}
.tpc-cfg-lines{list-style:none;margin:12px 0;padding:0}
.tpc-cfg-lines li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--c-border);font-size:13px}
.tpc-cfg-lines li span{display:flex;flex-direction:column;min-width:0}
.tpc-cfg-lines li small{color:var(--c-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpc-cfg-lines li b{white-space:nowrap}
.tpc-cfg-lines li.is-muted{color:var(--c-dim);border:0}
.tpc-cfg-opts{border:0;margin:14px 0 0;padding:0}
.tpc-cfg-opts legend{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:14px;margin-bottom:6px}
.tpc-cfg-opts label{display:flex;align-items:baseline;gap:8px;font-size:14px;margin:4px 0;cursor:pointer}
.tpc-cfg-opts label b{margin-left:auto;white-space:nowrap}
.tpc-cfg-opts[disabled]{opacity:.55}
.tpc-cfg-opts select{width:100%;margin-top:6px;padding:7px;font:inherit}
.tpc-cfg-hint{font-size:13px;color:var(--c-dim);margin:8px 0 0}
.tpc-cfg-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:12px;border-top:2px solid var(--c-text)}
.tpc-cfg-total b{font-size:24px;font-family:'Chakra Petch',sans-serif}
.tpc-cfg-errors{margin-top:10px;padding:10px 12px;border-left:3px solid var(--c-red);background:var(--tpc-red-soft,#fff0f0);font-size:13px}
.tpc-cfg-errors p{margin:2px 0}
.tpc-cfg-add{width:100%;margin-top:14px;justify-content:center;text-align:center;cursor:pointer}
.tpc-cfg-add[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.tpc-cfg-note{font-size:12px;color:var(--c-muted);margin:10px 0 0}
.tpc-cfg-mobilebar{display:none}

@media (max-width:960px){
  .tpc-cfg-page .tpc-page-article{padding:24px 16px}
  .tpc-cfg-layout{grid-template-columns:1fr}
  .tpc-cfg-summary{position:static}
  .tpc-cfg-step-pick{max-width:45%}
  .tpc-cfg-mobilebar{display:flex;position:sticky;bottom:0;z-index:20;align-items:center;justify-content:space-between;gap:12px;
    margin:12px -16px -24px;padding:10px 16px;background:#fff;border-top:1px solid var(--c-border)}
  .tpc-cfg-mobilebar span{font-weight:700;font-size:18px;display:flex;flex-direction:column}
  .tpc-cfg-mobilebar small{font-weight:400;font-size:12px;color:var(--c-dim)}
}
@media (max-width:520px){
  .tpc-cfg-grid{grid-template-columns:1fr}
  .tpc-cfg-step-head{flex-wrap:wrap}
  .tpc-cfg-step-pick{max-width:100%;margin-left:36px;text-align:left}
}
.tpc-cfg-os-line{display:flex;justify-content:space-between;gap:8px;font-size:14px;margin:8px 0 0}
.tpc-cfg-os-line b{white-space:nowrap}
.tpc-cfg-warn{display:block;margin-top:4px;color:#b45309}
