/* Proview Connect — espace client. Hérite de la typographie du thème. */
.pvc h3 { margin: 1.6em 0 .7em; font-size: 1.1em; }
.pvc h3:first-child { margin-top: 0; }
.pvc .num { text-align: right; white-space: nowrap; }
.pvc-actions { white-space: nowrap; }
.pvc-actions .button { margin: 0 .25em .25em 0; }
/* Repli pour les thèmes qui ne stylent pas .button (thèmes blocs) — spécificité nulle : le thème garde la main */
:where(.pvc-actions) a { display: inline-block; padding: .3em .85em; border: 1px solid currentColor; border-radius: 6px; text-decoration: none; font-size: .9em; line-height: 1.5; }
.pvc-solde { font-size: 1.05em; padding: .8em 1em; background: rgba(0,0,0,.04); border-radius: 6px; }

.pvc-badge { display: inline-block; padding: .15em .6em; border-radius: 999px; font-size: .8em; font-weight: 600; line-height: 1.6; background: #eceff3; color: #3c4450; vertical-align: middle; }
.pvc-badge.pvc-livree, .pvc-badge.pvc-payee { background: #e2f5ea; color: #17613a; }
.pvc-badge.pvc-preparation, .pvc-badge.pvc-expedition, .pvc-badge.pvc-partielle { background: #fff1d6; color: #7a4d00; }
.pvc-badge.pvc-echue { background: #fde4e1; color: #9b2217; }
.pvc-badge.pvc-annulee { background: #eceff3; color: #6b7280; text-decoration: line-through; }
.pvc-badge.pvc-avoir { background: #e4ecfb; color: #1f4f9c; }

.pvc-carte { border: 1px solid rgba(0,0,0,.1); border-radius: 8px; padding: 1em 1.2em; margin-bottom: 1em; }
.pvc-carte-tete { display: flex; flex-wrap: wrap; align-items: center; gap: .4em 1em; margin-bottom: .9em; }
.pvc-carte-tete .pvc-montant { margin-left: auto; font-weight: 600; }
.pvc-livraison { margin: .6em 0; font-size: .92em; }

.pvc-etapes { list-style: none; display: flex; margin: 0 0 .6em; padding: 0; counter-reset: pvc; }
.pvc-etapes li { flex: 1; position: relative; text-align: center; font-size: .82em; color: #8a929c; padding-top: 1.9em; }
.pvc-etapes li::before { counter-increment: pvc; content: counter(pvc); position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 1.6em; height: 1.6em; line-height: 1.6em; border-radius: 50%; background: #e3e6ea; color: #6b7280; font-weight: 700; z-index: 1; }
.pvc-etapes li::after { content: ""; position: absolute; top: .8em; left: -50%; width: 100%; height: 2px; background: #e3e6ea; }
.pvc-etapes li:first-child::after { display: none; }
.pvc-etapes li.fait, .pvc-etapes li.actuel { color: inherit; }
.pvc-etapes li.fait::before { content: "✓"; background: #1f9d57; color: #fff; }
.pvc-etapes li.fait::after, .pvc-etapes li.actuel::after { background: #1f9d57; }
.pvc-etapes li.actuel::before { background: #1f2937; color: #fff; }
.pvc-etapes li.actuel span { font-weight: 700; }

/* Demandes de prix */
.pvc-devis-ajout { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; margin: 1em 0; }
.pvc-devis-ajout .qty { width: 5em; }
.pvc-devis-champs { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1.2em; }
.pvc-devis .form-row label { display: block; font-size: .9em; margin-bottom: .2em; }
.pvc-devis .form-row input, .pvc-devis .form-row textarea { width: 100%; box-sizing: border-box; }
.pvc-piege { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Fiches techniques */
.pvc-docs { list-style: none; margin: .5em 0 1em; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .6em; }
.pvc-docs a { display: flex; align-items: center; gap: .7em; padding: .6em .8em; border: 1px solid rgba(0,0,0,.12); border-radius: 8px; text-decoration: none; color: inherit; }
.pvc-docs a:hover { border-color: currentColor; }
.pvc-doc-ico { flex: none; min-width: 2.8em; padding: .35em .3em; border-radius: 5px; background: #b91c1c; color: #fff; font-size: .72em; font-weight: 700; text-align: center; letter-spacing: .03em; }
.pvc-doc-txt { display: flex; flex-direction: column; min-width: 0; }
.pvc-doc-titre { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pvc-doc-meta { font-size: .8em; opacity: .7; }
.pvc-docs-bloc { margin: 1.2em 0; }

@media (max-width: 600px) {
  .pvc-etapes li { font-size: .72em; }
  .pvc-carte-tete .pvc-montant { margin-left: 0; }
}
