/* Pré-réservations de récolte (BRW-458) : fiche produit, Mon compte. Variables du thème avec repli. */

/* ---------- Fiche produit ---------- */
.bw-pr-fiche { margin-block: var(--bw-s4, 1.25rem); padding: var(--bw-s4, 1.25rem); border: 1px solid var(--bw-line-strong, #cfcabb); border-radius: var(--bw-radius-m, 8px); background: var(--bw-cream, #faf7ef); }
.bw-pr-fiche__titre { margin: 0 0 var(--bw-s2, .5rem); font-size: var(--bw-fs-h3, 1.25rem); }
.bw-pr-fiche p { margin: 0 0 var(--bw-s3, .75rem); }
.bw-pr-fiche__form { display: flex; flex-wrap: wrap; align-items: end; gap: var(--bw-s2, .5rem) var(--bw-s3, .75rem); margin-bottom: var(--bw-s3, .75rem); }
.bw-pr-fiche__etiquette { flex: 1 0 100%; font-weight: 600; }
.bw-pr-fiche__kg { width: 7rem; min-height: var(--bw-tap, 2.75rem); padding: 0 var(--bw-s3, .75rem); border: 1px solid var(--bw-line-strong, #cfcabb); border-radius: var(--bw-radius-m, 8px); background: var(--bw-white, #fff); font-size: 1rem; font-variant-numeric: tabular-nums; }
.bw-pr-fiche__paliers { margin-bottom: var(--bw-s3, .75rem); }
.bw-pr-fiche__paliers summary { cursor: pointer; font-weight: 600; }
.bw-pr-fiche__table { width: 100%; max-width: 24rem; margin-block: var(--bw-s2, .5rem); border-collapse: collapse; font-variant-numeric: tabular-nums; }
.bw-pr-fiche__table th, .bw-pr-fiche__table td { padding: .25rem .5rem .25rem 0; text-align: left; border-bottom: 1px solid var(--bw-line, #e4dfd0); font-weight: 400; }
.bw-pr-fiche__note { font-size: var(--bw-fs-sm, .875rem); color: var(--bw-ink-soft, #55524a); }

/* ---------- Mon compte ---------- */
.bw-pr-intro { max-width: 46rem; }
.bw-pr-message { margin: 0 0 var(--bw-s4, 1rem); padding: var(--bw-s3, .75rem) var(--bw-s4, 1rem); border: 1px solid var(--bw-line-strong, #cfcabb); border-radius: var(--bw-radius-m, 8px); background: var(--bw-white, #fff); }
.bw-pr-message--ok { border-color: #2f6b3a; background: #eef6ee; }
.bw-pr-message--erreur { border-color: #a33a2a; background: #fbefec; }
.bw-pr-message--info { background: var(--bw-cream, #faf7ef); display: flex; flex-wrap: wrap; align-items: center; gap: var(--bw-s2, .5rem) var(--bw-s3, .75rem); }
.bw-pr-etape, .bw-pr-carte { margin: 0 0 var(--bw-s4, 1.25rem); padding: var(--bw-s4, 1.25rem); border: 1px solid var(--bw-line-strong, #cfcabb); border-radius: var(--bw-radius-m, 8px); background: var(--bw-white, #fff); }
.bw-pr-etape h2 { margin-top: 0; font-size: var(--bw-fs-h3, 1.25rem); }
.bw-pr-carte--annulee { opacity: .75; }
.bw-pr-carte__entete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--bw-s2, .5rem); margin-bottom: var(--bw-s3, .75rem); }
.bw-pr-carte__entete h3 { margin: 0; font-size: var(--bw-fs-h3, 1.15rem); }
.bw-pr-etat { padding: .15rem .6rem; border-radius: 999px; background: var(--bw-line, #e4dfd0); font-size: var(--bw-fs-sm, .875rem); font-weight: 600; }
.bw-pr-etat--active { background: #dcebdc; }
.bw-pr-etat--confirmee { background: #dfe8f3; }
.bw-pr-resume { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: var(--bw-s3, .75rem) var(--bw-s4, 1rem); margin: 0 0 var(--bw-s3, .75rem); }
.bw-pr-resume dt { font-size: var(--bw-fs-sm, .875rem); color: var(--bw-ink-soft, #55524a); }
.bw-pr-resume dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.bw-pr-note { font-size: var(--bw-fs-sm, .875rem); color: var(--bw-ink-soft, #55524a); }
.bw-pr-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--bw-s2, .5rem); }
.bw-pr-action summary { list-style: none; cursor: pointer; }
.bw-pr-action summary::-webkit-details-marker { display: none; }
.bw-pr-action[open] { flex: 1 1 100%; }
.bw-pr-form { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bw-s2, .5rem) var(--bw-s3, .75rem); margin-top: var(--bw-s3, .75rem); }
.bw-pr-form input[type="number"] { width: 7rem; min-height: var(--bw-tap, 2.75rem); padding: 0 var(--bw-s3, .75rem); border: 1px solid var(--bw-line-strong, #cfcabb); border-radius: var(--bw-radius-m, 8px); font-size: 1rem; }
.bw-pr-form--ligne { margin-top: var(--bw-s4, 1rem); }

/* ---------- Vue Administrateur ---------- */
.bw-pr-filtres { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bw-s2, .5rem) var(--bw-s3, .75rem); margin-block: var(--bw-s3, .75rem); }
.bw-pr-titre-section { margin: var(--bw-s5, 2rem) 0 var(--bw-s2, .5rem); }
.bw-pr-titre-variete { margin: var(--bw-s4, 1.25rem) 0 var(--bw-s2, .5rem); }
.bw-pr-total th, .bw-pr-total td { border-top: 2px solid var(--bw-line-strong, #cfcabb); }
.bw-pr-hist { margin: var(--bw-s2, .5rem) 0 0; padding-left: 1.1em; font-size: var(--bw-fs-sm, .875rem); }
.bw-pr-ajout label { font-weight: 600; }
.bw-pr-resume dd small { display: block; margin-top: .15rem; font-weight: 400; font-size: .85em; line-height: 1.35; }
.bw-pr-etat-module { margin: 0 0 var(--bw-s3, .75rem); padding: 0; list-style: none; }
.bw-pr-rang { white-space: nowrap; }

/* ---------- Récapitulatif de la récolte (Mon compte) : même tableau que l'accusé ---------- */
.bw-pr-recap { margin: 0 0 var(--bw-s5, 1.5rem); padding: var(--bw-s4, 1.25rem); border: 1px solid var(--bw-line-strong, #cfcabb); border-radius: var(--bw-radius-m, 8px); background: var(--bw-white, #fff); }
.bw-pr-recap h2 { margin: 0 0 var(--bw-s3, .75rem); font-size: var(--bw-fs-h3, 1.25rem); }
.bw-pr-tableau { overflow-x: auto; }
.bw-pr-recap .lignes { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.bw-pr-recap .lignes th { padding: .5rem .6rem; background: var(--bw-green-pale, #D2E8DA); font-size: var(--bw-fs-xs, .8125rem); text-align: left; text-transform: uppercase; letter-spacing: .04em; }
.bw-pr-recap .lignes th.n, .bw-pr-recap .lignes td.n { text-align: right; white-space: nowrap; }
.bw-pr-recap .lignes td { padding: .6rem; border-bottom: 1px solid var(--bw-line, #e4e1d8); vertical-align: top; }
.bw-pr-recap .lignes .ref { color: var(--bw-ink-soft, #62615c); font-size: var(--bw-fs-xs, .8125rem); }
.bw-pr-recap .lignes tr.total td { background: var(--bw-cream, #fffcf2); border-top: 2px solid var(--bw-green-600, #037c63); border-bottom: 0; font-weight: 700; }
.bw-pr-dispo { margin: var(--bw-s3, .75rem) 0; padding: .6rem .9rem; border-left: 4px solid var(--bw-green-600, #037c63); background: var(--bw-green-pale, #D2E8DA); font-weight: 600; }
.bw-pr-recap .lignes .ref { white-space: nowrap; }
.bw-pr-recap .lignes td:first-child { min-width: 7.5rem; }
