/* Espace producteur brewstock (module producteurs) — mobile d'abord (375 px), points de rupture 600 / 900 px.
   Jetons --bw-* du thème (base.css), avec une valeur de repli si le thème n'est pas chargé. Cibles tactiles de 48 px,
   champs en 16 px, jamais d'information portée par la seule couleur (icône + texte), contrastes AA (UX-01 à UX-04). */

@layer components {

.bw-prod {
	--p-ink: var(--bw-ink, #1E1E1C);
	--p-soft: var(--bw-ink-soft, #62615C);
	--p-cream: var(--bw-cream, #FFFCF2);
	--p-paper: #F4F1E8;
	--p-white: var(--bw-white, #FFFFFF);
	--p-line: var(--bw-line, #E4E1D8);
	--p-line-strong: var(--bw-line-strong, #8E8D87);
	--p-green: var(--bw-green-600, #037C63);
	--p-green-700: var(--bw-green-700, #06634F);
	--p-green-pale: var(--bw-green-pale, #D2E8DA);
	--p-orange: var(--bw-orange-600, #9A6105);
	--p-orange-700: var(--bw-orange-700, #7C4D01);
	--p-orange-pale: var(--bw-orange-pale, #FDEFD9);
	--p-error: var(--bw-error, #B42318);
	--p-error-pale: #FDECEA;
	--p-info: #3E3F86;
	--p-info-pale: #E7EAFD;
	--p-radius: var(--bw-radius-m, 12px);
	--p-radius-s: var(--bw-radius-s, 6px);
	--p-shadow: var(--bw-shadow-1, 0 1px 2px rgb(30 30 28 / 0.06), 0 1px 1px rgb(30 30 28 / 0.04));
	--p-shadow-2: var(--bw-shadow-2, 0 6px 18px rgb(30 30 28 / 0.10), 0 1px 3px rgb(30 30 28 / 0.06));
	--p-tap: var(--bw-tap, 3rem);
	--p-focus: var(--bw-focus, 0 0 0 2px #FFFCF2, 0 0 0 5px #1E1E1C);
	--p-display: var(--bw-font-display, "Playfair Display", Georgia, serif);
	--p-text: var(--bw-font-text, "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
	--p-duree: var(--bw-duree, 160ms);
	display: block;
	background: var(--p-cream);
	color: var(--p-ink);
	font-family: var(--p-text);
	font-size: 1rem;
	line-height: 1.55;
	padding-block: 1rem 7rem;
}
.bw-prod *, .bw-prod *::before, .bw-prod *::after { box-sizing: border-box; }
.bw-prod__conteneur { width: 100%; max-width: 54rem; margin-inline: auto; padding-inline: 1rem; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
.bw-prod { overflow-wrap: anywhere; }
.bw-prod-accueil, .bw-prod-depot-ecran, .bw-prod-form, .bw-prod-suivi, .bw-prod-justificatifs, .bw-prod-mes-pj, .bw-prod-lot__corps, .bw-prod-grille { grid-template-columns: minmax(0, 1fr); }
.bw-prod-tete__nav ul, .bw-prod-etapes ol, .bw-prod-fichiers, .bw-prod-recap, .bw-prod-jalons, .bw-prod-depots, .bw-prod-pj-resume, .bw-prod-pj__lots, .bw-prod-suggestions > ul, .bw-prod-lot__pieces, .bw-prod-comment__liste { list-style: none; margin: 0; padding: 0; }
.bw-prod h1, .bw-prod h2, .bw-prod h3, .bw-prod p, .bw-prod ul, .bw-prod ol, .bw-prod fieldset { margin: 0; }
.bw-prod ul[class], .bw-prod ol[class] { list-style: none; padding: 0; }
.bw-prod a { color: var(--p-green-700); text-underline-offset: 0.18em; }
.bw-prod :focus-visible { outline: none; box-shadow: var(--p-focus); border-radius: var(--p-radius-s); }
.bw-prod-icone { flex: none; width: 1.25rem; height: 1.25rem; }
.bw-prod-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bw-prod-discret { color: var(--p-soft); font-size: 0.875rem; }
.bw-prod-titre { font-family: var(--p-display); font-weight: 700; font-size: clamp(1.75rem, 1.45rem + 1.4vw, 2.5rem); line-height: 1.15; letter-spacing: -0.01em; }
.bw-prod-h2 { font-family: var(--p-display); font-weight: 700; font-size: 1.375rem; line-height: 1.2; margin-bottom: 0.75rem; }
.bw-prod-chapo { font-size: 1.0625rem; color: var(--p-soft); max-width: 40rem; margin-top: -0.5rem; }

/* Obligations fiscales et sociales (CGI 242 bis), récapitulatif annuel DAC7 (PROD-155 et suivants) */
.bw-prod-obligations { margin-top: 1.5rem; padding: 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); }
.bw-prod-obligations ul { margin: 0.5rem 0; padding-left: 1.25rem; }
.bw-prod-obligations li { margin: 0.35rem 0; }
.bw-prod-recap-annee { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 1rem; }
.bw-prod-recap-annee select { min-height: var(--p-tap); }
.bw-prod-defile { overflow-x: auto; max-width: 100%; margin: 0.75rem 0; }
.bw-prod-recap-dac7__tableau { width: 100%; border-collapse: collapse; font-size: 0.9375rem; background: var(--p-white); }
.bw-prod-recap-dac7__tableau th, .bw-prod-recap-dac7__tableau td { padding: 0.5rem 0.65rem; border: 1px solid var(--p-line); text-align: left; vertical-align: top; }
.bw-prod-recap-dac7__tableau thead th { font-size: 0.8125rem; }
.bw-prod-recap-dac7 tbody th { font-weight: 600; min-width: 9rem; }
.bw-prod-recap-dac7 p { margin: 0 0 0.75rem; }
.bw-prod-recap-dac7 .bw-prod-titre { margin: 0.25rem 0 1rem; }
@media (max-width: 599px) {
	/* Trimestres : un bloc par trimestre, chaque montant précédé de son libellé */
	.bw-prod-recap-dac7__trimestres thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.bw-prod-recap-dac7__trimestres, .bw-prod-recap-dac7__trimestres tbody, .bw-prod-recap-dac7__trimestres tr { display: block; width: 100%; }
	.bw-prod-recap-dac7__trimestres tr { margin-bottom: 0.75rem; border: 1px solid var(--p-line); border-radius: var(--p-radius-s, 8px); overflow: hidden; }
	.bw-prod-recap-dac7__trimestres th, .bw-prod-recap-dac7__trimestres td { display: flex; justify-content: space-between; gap: 1rem; border: 0; border-bottom: 1px solid var(--p-line); }
	.bw-prod-recap-dac7__trimestres td::before { content: attr(data-libelle); color: var(--p-soft); }
	.bw-prod-recap-dac7__trimestres td:last-child { border-bottom: 0; }
	.bw-prod-recap-dac7__trimestres td { text-align: right; }
}
@media print {
	.bw-prod-tete, .bw-prod-recap-annee, .bw-prod-pied, .bw-prod-flash { display: none !important; }
	.bw-prod-defile { overflow: visible; }
}

/* Boutons (repli si le thème ne fournit pas .bw-btn) */
.bw-prod .bw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: var(--p-tap); padding: 0 1rem; border-radius: var(--p-radius); border: 1px solid transparent; font: inherit; font-weight: 600; font-size: 0.9375rem; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background var(--p-duree), border-color var(--p-duree), color var(--p-duree); }
.bw-prod .bw-btn--action { background: var(--p-green); color: #fff; }
.bw-prod .bw-btn--action:hover { background: var(--p-green-700); color: #fff; }
.bw-prod .bw-btn--secondaire { background: var(--p-white); color: var(--p-ink); border-color: var(--p-line-strong); }
.bw-prod .bw-btn--secondaire:hover { border-color: var(--p-ink); color: var(--p-ink); }
.bw-prod .bw-btn-icone { display: inline-flex; align-items: center; justify-content: center; width: var(--p-tap); height: var(--p-tap); border: 0; border-radius: 999px; background: transparent; color: var(--p-ink); cursor: pointer; }
.bw-prod .bw-btn-icone:hover { background: rgb(30 30 28 / 0.06); }
.bw-prod .bw-btn[aria-disabled="true"], .bw-prod .bw-btn:disabled { opacity: 0.55; cursor: progress; }
.bw-prod-petit { min-height: 2.75rem !important; padding: 0 0.75rem !important; font-size: 0.875rem !important; }
.bw-prod-danger { color: var(--p-error) !important; border-color: var(--p-error) !important; }

/* Badges : toujours icône + texte */
.bw-prod-badge { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 1.75rem; padding: 0.15rem 0.65rem; border-radius: 999px; font-size: 0.8125rem; font-weight: 600; line-height: 1.2; background: var(--p-paper); color: var(--p-ink); }
.bw-prod-badge .bw-prod-icone { width: 1rem; height: 1rem; }
.bw-prod-badge--ok { background: var(--p-green-pale); color: var(--p-green-700); }
.bw-prod-badge--attention { background: var(--p-orange-pale); color: var(--p-orange-700); }
.bw-prod-badge--info { background: var(--p-info-pale); color: var(--p-info); }
.bw-prod-badge--neutre { background: #EFEDE6; color: #4A4945; }

/* En-tête de l'espace */
.bw-prod-bandeau { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.75rem 1rem; border-radius: var(--p-radius); background: var(--p-info-pale); color: var(--p-info); }
.bw-prod-bandeau a { color: var(--p-info); font-weight: 700; }
.bw-prod-tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--p-line); }
.bw-prod-tete__qui { display: flex; align-items: center; gap: 0.75rem; }
.bw-prod-tete__qui > span:last-child { display: grid; line-height: 1.25; }
.bw-prod-tete__qui > span:last-child > span { font-size: 0.8125rem; color: var(--p-soft); }
.bw-prod-pastille { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 999px; background: var(--bw-prod-fond); border: 3px solid var(--bw-prod-bord); font-weight: 800; font-size: 0.875rem; color: var(--p-ink); }
.bw-prod-tete__nav ul { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.bw-prod-tete__nav a { display: inline-flex; align-items: center; gap: 0.35rem; min-height: var(--p-tap); padding: 0 0.85rem; border-radius: 999px; color: var(--p-ink); text-decoration: none; font-weight: 600; font-size: 0.9375rem; }
.bw-prod-tete__nav a:hover { background: rgb(30 30 28 / 0.05); }
.bw-prod-tete__nav a[aria-current="page"] { background: var(--p-green-pale); color: var(--p-green-700); }

/* Messages */
.bw-prod-flash { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.85rem 1rem; border-radius: var(--p-radius); background: var(--p-green-pale); color: var(--p-green-700); font-weight: 500; }
.bw-prod-flash p { color: var(--p-ink); }
.bw-prod-flash--erreur { background: var(--p-error-pale); color: var(--p-error); }
.bw-prod-flash--info { background: var(--p-info-pale); color: var(--p-info); }
.bw-prod-alerte { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.85rem 1rem; border-radius: var(--p-radius); background: var(--p-orange-pale); color: var(--p-orange-700); }
.bw-prod-alerte p { color: var(--p-ink); }

/* États vides */
.bw-prod-vide { display: grid; justify-items: center; gap: 0.5rem; text-align: center; padding: 2rem 1rem; border: 1px dashed var(--p-line-strong); border-radius: var(--p-radius); background: var(--p-white); }
.bw-prod-vide > .bw-prod-icone { width: 2.75rem; height: 2.75rem; padding: 0.6rem; border-radius: 999px; background: var(--p-green-pale); color: var(--p-green-700); }
.bw-prod-vide--page { margin-top: 2rem; padding: 2.5rem 1.25rem; }
.bw-prod-vide--page h1 { font-family: var(--p-display); font-size: 1.75rem; }

/* Accueil */
.bw-prod-accueil { display: grid; gap: 1.75rem; }
.bw-prod-cta { display: grid; gap: 1rem; padding: 1.25rem; border-radius: var(--p-radius); background: var(--p-white); box-shadow: var(--p-shadow-2); border-top: 4px solid var(--p-green); }
.bw-prod-cta h2 { font-family: var(--p-display); font-size: 1.375rem; }
.bw-prod-cta p { color: var(--p-soft); }
.bw-prod-cta__bouton { width: 100%; font-size: 1rem !important; }
.bw-prod-cta form { margin: 0; }
.bw-prod-comment__liste { display: grid; gap: 0.75rem; grid-template-columns: 1fr 1fr; }
.bw-prod-comment__liste li { position: relative; display: grid; gap: 0.25rem; padding: 0.85rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); font-size: 0.875rem; }
.bw-prod-comment__liste li .bw-prod-icone { color: var(--p-green); }
.bw-prod-comment__liste li strong { font-size: 0.9375rem; }
.bw-prod-comment__liste li span:last-child { color: var(--p-soft); }
.bw-prod-comment__num { position: absolute; top: 0.6rem; right: 0.75rem; font-family: var(--p-display); font-weight: 700; color: var(--p-line-strong); }
.bw-prod-depots { display: grid; gap: 0.75rem; }
.bw-prod-depot__lien { position: relative; display: grid; gap: 0.35rem; padding: 1rem 2.75rem 1rem 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); color: var(--p-ink); text-decoration: none; box-shadow: var(--p-shadow); }
.bw-prod-depot__lien:hover { border-color: var(--p-line-strong); }
.bw-prod-depot__date { font-weight: 700; font-size: 1.0625rem; }
.bw-prod-depot__chiffres, .bw-prod-depot__lots { color: var(--p-soft); font-size: 0.9375rem; }
.bw-prod-depot__etats { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.bw-prod-depot__fleche { position: absolute; right: 0.85rem; top: 50%; translate: 0 -50%; color: var(--p-soft); }
.bw-prod-pj-resume { display: grid; gap: 0.5rem; }
.bw-prod-pj-resume li { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0.25rem 0.75rem; padding: 0.75rem 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); }
.bw-prod-pj-resume li > .bw-prod-icone { grid-row: span 2; color: var(--p-green); }
.bw-prod-pj-resume__titre { font-weight: 600; }
.bw-prod-pj-resume .bw-prod-badge { justify-self: start; }
.bw-prod-lien-fort { display: inline-flex; align-items: center; gap: 0.25rem; min-height: var(--p-tap); font-weight: 700; }

/* Aide repliable */
.bw-prod-aide { border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); }
.bw-prod-aide > summary { display: flex; align-items: center; gap: 0.6rem; min-height: var(--p-tap); padding: 0.5rem 1rem; cursor: pointer; font-weight: 600; list-style: none; }
.bw-prod-aide > summary::-webkit-details-marker { display: none; }
.bw-prod-aide > summary > .bw-prod-icone:first-child { color: var(--p-green); }
.bw-prod-aide__chevron { margin-left: auto; transition: rotate var(--p-duree); }
.bw-prod-aide[open] .bw-prod-aide__chevron { rotate: 180deg; }
.bw-prod-aide__corps { display: grid; gap: 0.6rem; padding: 0 1rem 1rem; color: var(--p-soft); font-size: 0.9375rem; }

/* Étapes */
.bw-prod-etapes ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.25rem; counter-reset: none; }
.bw-prod-etapes li { position: relative; }
.bw-prod-etapes li > a, .bw-prod-etapes li > span:only-child, .bw-prod-etapes li[aria-current] { display: grid; justify-items: center; gap: 0.25rem; min-height: var(--p-tap); padding: 0.25rem 0.1rem; text-align: center; text-decoration: none; color: var(--p-soft); border-radius: var(--p-radius-s); }
.bw-prod-etapes li > a:hover .bw-prod-etapes__nom { text-decoration: underline; }
.bw-prod-etapes li::before { content: ""; position: absolute; top: 1.25rem; left: calc(-50% + 1.15rem); right: calc(50% + 1.15rem); height: 2px; background: var(--p-line); }
.bw-prod-etapes li:first-child::before { display: none; }
.bw-prod-etapes li.est-faite::before, .bw-prod-etapes li.est-courante::before { background: var(--p-green); }
.bw-prod-etapes__num { display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-top: 0.25rem; border-radius: 999px; border: 2px solid var(--p-line-strong); background: var(--p-white); font-weight: 700; font-size: 0.875rem; color: var(--p-soft); }
.bw-prod-etapes__num .bw-prod-icone { width: 1rem; height: 1rem; }
.bw-prod-etapes__nom { font-size: 0.8125rem; font-weight: 600; line-height: 1.2; }
.bw-prod-etapes .est-faite .bw-prod-etapes__num { border-color: var(--p-green); color: var(--p-green); }
.bw-prod-etapes .est-faite .bw-prod-etapes__nom { color: var(--p-green-700); }
.bw-prod-etapes .est-courante .bw-prod-etapes__num { background: var(--p-green); border-color: var(--p-green); color: #fff; }
.bw-prod-etapes .est-courante .bw-prod-etapes__nom { color: var(--p-ink); font-weight: 700; }

.bw-prod-depot-ecran, .bw-prod-form { display: grid; gap: 1.25rem; }

/* Étape 1 : choix */
.bw-prod-choix { display: grid; gap: 0.75rem; }
.bw-prod-choix__carte { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 0.25rem 0.85rem; align-items: start; padding: 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); box-shadow: var(--p-shadow); transition: border-color var(--p-duree), box-shadow var(--p-duree); }
.bw-prod-choix__carte:hover { border-color: var(--p-line-strong); }
.bw-prod-choix__carte:has(.bw-prod-fichier:focus-visible) .bw-prod-choix__bouton { box-shadow: var(--p-focus); }
.bw-prod-choix__carte.est-survole { border-color: var(--p-green); box-shadow: 0 0 0 3px var(--p-green-pale); }
.bw-prod-choix__icone { grid-row: span 2; display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: var(--p-radius); background: var(--p-green-pale); color: var(--p-green-700); }
.bw-prod-choix__icone .bw-prod-icone { width: 1.5rem; height: 1.5rem; }
.bw-prod-choix__titre { font-weight: 700; font-size: 1.0625rem; line-height: 1.3; }
.bw-prod-choix__texte { color: var(--p-soft); font-size: 0.9375rem; }
.bw-prod-choix__bouton { grid-column: 1 / -1; margin-top: 0.5rem; width: 100%; }
.bw-prod-fichier { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.bw-prod-zone { display: none; }
.bw-prod-zone:not([hidden]) { display: flex; align-items: center; justify-content: center; gap: 0.75rem; min-height: 6rem; padding: 1rem; border: 2px dashed var(--p-line-strong); border-radius: var(--p-radius); background: var(--p-white); color: var(--p-soft); text-align: left; }
.bw-prod-zone p { display: grid; }
.bw-prod-zone.est-survole { border-color: var(--p-green); background: var(--p-green-pale); color: var(--p-green-700); }
.bw-prod-exemple { display: grid; gap: 0.75rem; padding: 1rem; border-radius: var(--p-radius); background: var(--p-paper); }
.bw-prod-exemple h2 { display: flex; gap: 0.5rem; align-items: center; font-size: 1.0625rem; font-family: var(--p-text); }
.bw-prod-exemple h2 .bw-prod-icone { color: var(--p-green); }
.bw-prod-exemple__grille { display: grid; gap: 1rem; }
.bw-prod-exemple__conseils { display: grid; gap: 0.35rem; padding-left: 1.1rem !important; list-style: disc !important; font-size: 0.9375rem; }
.bw-prod-cahier { display: grid; grid-template-columns: 1.1fr 0.8fr 1.4fr; gap: 0 0.5rem; padding: 0.6rem 0.85rem 0.6rem 1.75rem; border-radius: 4px; background-color: #FFFEF8; background-image: linear-gradient(90deg, transparent 1.2rem, #E8B4B4 1.2rem, #E8B4B4 calc(1.2rem + 1px), transparent calc(1.2rem + 1px)), repeating-linear-gradient(180deg, transparent 0, transparent calc(1.9rem - 1px), #C9D8EA calc(1.9rem - 1px), #C9D8EA 1.9rem); box-shadow: var(--p-shadow-2); rotate: -1deg; font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive; color: #233A73; font-size: 0.875rem; line-height: 1.9rem; max-width: 22rem; }
.bw-prod-cahier span:nth-child(-n+3) { font-weight: 700; text-decoration: underline; }

/* Fichiers */
.bw-prod-fichiers { display: grid; gap: 0.5rem; }
.bw-prod-fichier-ligne { display: grid; grid-template-columns: auto 1fr auto; gap: 0.25rem 0.75rem; align-items: center; padding: 0.75rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); }
.bw-prod-fichier-ligne__icone { grid-row: span 2; display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: var(--p-radius-s); background: var(--p-paper); color: var(--p-soft); }
.bw-prod-fichier-ligne__nom { display: grid; min-width: 0; }
.bw-prod-fichier-ligne__nom a { overflow-wrap: anywhere; font-weight: 600; }
.bw-prod-fichier-ligne__etat { grid-column: 2 / 3; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem; }
.bw-prod-fichier-ligne__detail { font-size: 0.875rem; color: var(--p-soft); }
.bw-prod-fichier-ligne .bw-prod-retirer { grid-column: 3; grid-row: 1 / span 2; color: var(--p-soft); }
.bw-prod-fichier-ligne .bw-prod-petit { grid-column: 2 / -1; justify-self: start; }
.bw-prod-fichier-ligne.est-en-cours .bw-prod-fichier-ligne__icone .bw-prod-icone { animation: bw-prod-tourne 1s linear infinite; }
@keyframes bw-prod-tourne { to { rotate: 360deg; } }

/* Barre d'actions collante */
.bw-prod-barre { position: sticky; bottom: 0; z-index: 20; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.5rem; margin-inline: -1rem; padding: 0.6rem 1rem calc(0.6rem + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--p-cream) 94%, transparent); backdrop-filter: blur(8px); border-top: 1px solid var(--p-line); }
.bw-prod-barre__suivant { width: 100%; white-space: normal !important; text-align: center; }
.bw-prod-barre__retour { padding: 0 0.75rem !important; }
.bw-prod-sauvegarde { grid-column: 1 / -1; order: -1; display: flex; align-items: center; justify-content: center; gap: 0.35rem; min-height: 1.25rem; font-size: 0.8125rem; color: var(--p-soft); }
.bw-prod-sauvegarde .bw-prod-icone { width: 1rem; height: 1rem; color: var(--p-green); }
.bw-prod-sauvegarde.est-erreur { color: var(--p-error); }
.bw-prod-sauvegarde.est-en-cours .bw-prod-icone { animation: bw-prod-tourne 1s linear infinite; color: var(--p-soft); }
.bw-prod-sans-js { margin: 0; }
.bw-prod-js .bw-prod-sans-js { display: none; }

/* Étape 2 : lots */
.bw-prod-resume { display: flex; align-items: center; gap: 0.5rem; font-weight: 600; }
.bw-prod-resume .bw-prod-icone { color: var(--p-orange); }
.bw-prod-lot { border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); border-left: 5px solid var(--p-line-strong); box-shadow: var(--p-shadow); scroll-margin-top: 5rem; }
.bw-prod-lot--a_verifier { border-left-color: var(--p-orange); }
.bw-prod-lot--piece_manquante { border-left-color: var(--p-orange); }
.bw-prod-lot--complet { border-left-color: var(--p-green); }
.bw-prod-lot__entete { display: grid; grid-template-columns: 1fr auto; gap: 0.25rem 0.75rem; align-items: center; min-height: 3.5rem; padding: 0.75rem 1rem; cursor: pointer; list-style: none; }
.bw-prod-lot__entete::-webkit-details-marker { display: none; }
.bw-prod-lot__num { grid-column: 1; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--p-soft); }
.bw-prod-lot__titre { grid-column: 1; font-family: var(--p-display); font-weight: 700; font-size: 1.1875rem; line-height: 1.25; }
.bw-prod-lot__entete > [data-bw-prod-statut] { grid-column: 1; }
.bw-prod-lot__chevron { grid-column: 2; grid-row: 1 / span 3; transition: rotate var(--p-duree); color: var(--p-soft); }
.bw-prod-lot__plie[open] .bw-prod-lot__chevron { rotate: 180deg; }
.bw-prod-lot__corps { display: grid; gap: 1rem; padding: 0 0.75rem 0.85rem; }
.bw-prod-groupe { container-type: inline-size; display: grid; gap: 0.75rem; padding: 0.85rem 0 0 !important; border: 0 !important; border-top: 1px solid var(--p-line) !important; }
.bw-prod-groupe > legend { display: flex; align-items: center; gap: 0.5rem; float: left; width: 100%; margin-bottom: 0.75rem; padding: 0; font-weight: 700; font-size: 1rem; }
.bw-prod-groupe > legend .bw-prod-icone { color: var(--p-green); }
.bw-prod-groupe > legend + * { clear: both; }
.bw-prod-grille { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@container (min-width: 34rem) { .bw-prod-grille { grid-template-columns: 1fr 1fr; } .bw-prod-grille > .bw-prod-champ--puces, .bw-prod-grille > .bw-prod-decompte { grid-column: 1 / -1; } }

/* Champs */
.bw-prod-champ { display: grid; gap: 0.35rem; align-content: start; min-width: 0; border: 0; padding: 0; margin: 0; }
.bw-prod-champ > label, .bw-prod-champ > legend { font-weight: 600; font-size: 0.9375rem; padding: 0; }
.bw-prod-champ > legend { margin-bottom: 0.35rem; }
.bw-prod-obligatoire, .bw-prod-facultatif { font-weight: 500; font-size: 0.75rem; color: var(--p-soft); }
.bw-prod-obligatoire::before, .bw-prod-facultatif::before { content: "· "; }
.bw-prod-saisie { display: flex; align-items: stretch; min-height: var(--p-tap); border: 1px solid var(--p-line-strong); border-radius: var(--p-radius-s); background: var(--p-white); overflow: hidden; }
.bw-prod-saisie:focus-within { box-shadow: var(--p-focus); }
.bw-prod-saisie input, .bw-prod textarea { flex: 1; min-width: 0; width: 100%; min-height: calc(var(--p-tap) - 2px); padding: 0 0.75rem; border: 0; background: transparent; font: inherit; font-size: 1rem; color: var(--p-ink); }
.bw-prod-saisie input:focus, .bw-prod textarea:focus { outline: none; box-shadow: none; }
.bw-prod textarea { padding: 0.65rem 0.75rem; border: 1px solid var(--p-line-strong); border-radius: var(--p-radius-s); background: var(--p-white); resize: vertical; }
.bw-prod textarea:focus-visible { box-shadow: var(--p-focus); }
.bw-prod-unite { display: inline-flex; align-items: center; padding: 0 0.75rem; background: var(--p-paper); color: var(--p-soft); font-size: 0.875rem; border-left: 1px solid var(--p-line); white-space: nowrap; }
.bw-prod-source { display: flex; gap: 0.35rem; align-items: flex-start; font-size: 0.8125rem; color: var(--p-soft); line-height: 1.35; }
.bw-prod-source .bw-prod-icone { width: 0.95rem; height: 0.95rem; margin-top: 0.1rem; color: var(--p-green); }
.bw-prod-source--doute { color: var(--p-orange-700); font-weight: 600; }
.bw-prod-source--doute .bw-prod-icone { color: var(--p-orange); }
.bw-prod-source--verifie .bw-prod-icone { color: var(--p-green); }
.bw-prod-champ.est-douteux .bw-prod-saisie { border-color: var(--p-orange); background: #FFF8EC; border-width: 2px; }
.bw-prod-aide-champ { font-size: 0.8125rem; color: var(--p-soft); }
.bw-prod-erreur { display: flex; gap: 0.35rem; align-items: flex-start; font-size: 0.8125rem; font-weight: 600; color: var(--p-error); line-height: 1.35; }
.bw-prod-erreur .bw-prod-icone { width: 0.95rem; height: 0.95rem; margin-top: 0.1rem; }
.bw-prod-champ.est-manquant .bw-prod-saisie { border-color: var(--p-error); border-width: 2px; }
.bw-prod-puces { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.bw-prod-puce { position: relative; display: inline-flex; }
.bw-prod-puce input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.bw-prod-puce span { overflow-wrap: normal; display: inline-flex; align-items: center; gap: 0.35rem; min-height: var(--p-tap); padding: 0 1rem; border: 1px solid var(--p-line-strong); border-radius: 999px; background: var(--p-white); font-size: 0.9375rem; font-weight: 500; }
.bw-prod-puce input:checked + span { background: var(--p-green-pale); border-color: var(--p-green); color: var(--p-green-700); font-weight: 700; }
.bw-prod-puce input:checked + span::before { content: "✓"; }
.bw-prod-puce input:focus-visible + span { box-shadow: var(--p-focus); }
.bw-prod-champ--puces.est-manquant .bw-prod-puce span { border-color: var(--p-error); }
.bw-prod-autre { display: grid; gap: 0.35rem; margin-top: 0.5rem; max-width: 14rem; }
.bw-prod-autre label { font-size: 0.875rem; font-weight: 600; }
.bw-prod-decompte { display: grid; gap: 0.25rem; padding: 0.75rem 1rem; border-radius: var(--p-radius-s); background: var(--p-paper); font-size: 0.9375rem; }
.bw-prod-decompte p { display: flex; justify-content: space-between; gap: 1rem; }
.bw-prod-decompte strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
.bw-prod-decompte .bw-prod-discret { display: block; font-size: 0.8125rem; }
.bw-prod-lot__pied { display: grid; gap: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--p-line); }
.bw-prod-lot__pieces { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.bw-prod-supprimer > summary { display: inline-flex; align-items: center; gap: 0.4rem; min-height: var(--p-tap); color: var(--p-error); font-weight: 600; font-size: 0.9375rem; cursor: pointer; list-style: none; }
.bw-prod-supprimer > summary::-webkit-details-marker { display: none; }
.bw-prod-supprimer[open] { display: grid; gap: 0.5rem; padding: 0.75rem; border-radius: var(--p-radius-s); background: var(--p-error-pale); }
.bw-prod-supprimer[open] .bw-btn { justify-self: start; }
.bw-prod-ajouter { margin: 0; }
.bw-prod-ajouter .bw-btn { width: 100%; border-style: dashed; }

/* Suggestions */
.bw-prod-suggestions { display: grid; gap: 0.6rem; padding: 0.6rem; border-radius: var(--p-radius); background: var(--p-orange-pale); }
.bw-prod-suggestions h3 { display: flex; align-items: center; gap: 0.5rem; font-size: 1rem; color: var(--p-orange-700); }
.bw-prod-suggestions > ul { display: grid; gap: 0.75rem; }
.bw-prod-sugg { display: grid; gap: 0.5rem; padding: 0.75rem; border-radius: var(--p-radius-s); background: var(--p-white); border-left: 4px solid var(--p-orange); }
.bw-prod-sugg__aussi { font-size: 0.8125rem; color: var(--p-soft); }
.bw-prod-sugg--bloquant { border-left-color: var(--p-error); }
.bw-prod-sugg--info { border-left-color: var(--p-line-strong); }
.bw-prod-sugg--info .bw-prod-sugg__boutons .bw-btn--action { background: var(--p-white); color: var(--p-green-700); border-color: var(--p-green); }
.bw-prod-sugg__msg { display: grid; gap: 0.25rem; }
.bw-prod-sugg__tag { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--p-orange-700); }
.bw-prod-sugg--bloquant .bw-prod-sugg__tag { color: var(--p-error); }
.bw-prod-sugg--info .bw-prod-sugg__tag { color: var(--p-soft); }
.bw-prod-sugg__tag .bw-prod-icone { width: 0.95rem; height: 0.95rem; }
.bw-prod-sugg__prop { font-size: 0.9375rem; }
.bw-prod-sugg__prop > span:first-child { display: block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--p-soft); }
.bw-prod-sugg__boutons { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.bw-prod-sugg__boutons > .bw-btn, .bw-prod-sugg__rectif { flex: 1 1 0; min-width: 0; }
.bw-prod-sugg__boutons .bw-btn { padding: 0 0.5rem; gap: 0.3rem; font-size: 0.875rem; white-space: nowrap; overflow-wrap: normal; }
.bw-prod-sugg__boutons .bw-btn .bw-prod-icone { width: 1rem; height: 1rem; }
.bw-prod-sugg--info .bw-prod-sugg__boutons .bw-btn--action { background: var(--p-white); color: var(--p-green-700); border-color: var(--p-green); }
.bw-prod-sugg__rectif { display: block; }
.bw-prod-sugg__rectif > summary { width: 100%; list-style: none; }
.bw-prod-sugg__rectif > summary::-webkit-details-marker { display: none; }
.bw-prod-sugg__rectif[open] { flex-basis: 100%; display: grid; gap: 0.5rem; }
.bw-prod-sugg__rectif[open] > summary { background: var(--p-paper); }
.bw-prod-sugg__rectif-corps { display: grid; gap: 0.5rem; padding: 0.75rem; border-radius: var(--p-radius-s); background: var(--p-paper); }
@media (max-width: 420px) { .bw-prod-sugg__boutons .bw-btn--secondaire .bw-prod-icone { display: none; } }
.bw-prod-sugg__rectif-corps label { font-weight: 600; font-size: 0.9375rem; }
.bw-prod-sugg__rectif-corps input { min-height: var(--p-tap); padding: 0 0.75rem; border: 1px solid var(--p-line-strong); border-radius: var(--p-radius-s); font: inherit; font-size: 1rem; background: var(--p-white); }
.bw-prod-sugg__legende { font-size: 0.8125rem; color: var(--p-orange-700); }

/* Étape 3 : justificatifs */
.bw-prod-justificatifs, .bw-prod-mes-pj { display: grid; gap: 1rem; }
.bw-prod-pj { display: grid; gap: 0.75rem; padding: 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); box-shadow: var(--p-shadow); scroll-margin-top: 5rem; }
.bw-prod-pj__tete { display: grid; grid-template-columns: auto 1fr; gap: 0.5rem 0.85rem; align-items: center; }
.bw-prod-pj__tete h2 { font-size: 1.125rem; line-height: 1.3; }
.bw-prod-pj__tete > .bw-prod-badge { grid-column: 1 / -1; justify-self: start; }
.bw-prod-pj__num { color: var(--p-soft); }
.bw-prod-pj__icone { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: var(--p-radius); background: var(--p-green-pale); color: var(--p-green-700); }
.bw-prod-pj__aide { color: var(--p-soft); font-size: 0.9375rem; }
.bw-prod-pj__lots { display: grid; gap: 0.35rem; }
.bw-prod-pj__lots li { display: grid; grid-template-columns: auto 1fr; gap: 0 0.5rem; align-items: start; font-size: 0.9375rem; }
.bw-prod-pj__lots li .bw-prod-discret { grid-column: 2; }
.bw-prod-ok { color: var(--p-green); }
.bw-prod-manque { color: var(--p-orange); }
.bw-prod-pj__ajout .bw-btn { width: 100%; }
.bw-prod-pj__ajout:has(.bw-prod-fichier:focus-visible) .bw-btn { box-shadow: var(--p-focus); }
.bw-prod-rattache fieldset { border: 0; padding: 0.5rem 0.75rem 0.75rem; margin: -0.25rem 0 0.25rem 3.25rem; border-left: 3px solid var(--p-line); }
.bw-prod-rattache legend { font-size: 0.875rem; font-weight: 600; margin-bottom: 0.35rem; padding: 0; }
.bw-prod-rattache { list-style: none; }
.bw-prod-rattache fieldset { margin-left: 1rem !important; }

/* Étape 4 et suivi */
.bw-prod-recap { display: grid; gap: 0.6rem; }
.bw-prod-recap__lot { display: grid; gap: 0.3rem; padding: 0.85rem 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); }
.bw-prod-recap__titre { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.35rem 0.75rem; }
.bw-prod-recap__infos { font-size: 0.9375rem; color: var(--p-soft); }
.bw-prod-recap__manque { display: flex; gap: 0.4rem; align-items: flex-start; font-size: 0.9375rem; color: var(--p-orange-700); font-weight: 600; }
.bw-prod-ensuite { padding: 1rem; border-radius: var(--p-radius); background: var(--p-green-pale); }
.bw-prod-ensuite .bw-prod-h2 { font-size: 1.125rem; margin-bottom: 0.5rem; }
.bw-prod-ensuite ol { display: grid; gap: 0.35rem; padding-left: 1.25rem; list-style: decimal; }
.bw-prod-certifie { padding: 0.85rem 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 2px solid var(--p-green); }
.bw-prod-case { display: flex; gap: 0.75rem; align-items: flex-start; cursor: pointer; font-weight: 600; min-height: var(--p-tap); }
.bw-prod-case input { flex: none; width: 1.5rem; height: 1.5rem; margin-top: 0.1rem; accent-color: var(--p-green); }
.bw-prod-suivi { display: grid; gap: 1.25rem; }
.bw-prod-retour a { display: inline-flex; align-items: center; gap: 0.35rem; min-height: var(--p-tap); font-weight: 600; text-decoration: none; }
.bw-prod-jalons { display: grid; gap: 0.5rem; padding: 1rem !important; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); }
.bw-prod-jalons li { display: flex; gap: 0.6rem; align-items: center; color: var(--p-soft); }
.bw-prod-jalons li.est-fait { color: var(--p-ink); }
.bw-prod-jalons li.est-fait .bw-prod-icone { color: var(--p-green); }

/* Pied */
.bw-prod-pied { display: grid; gap: 0.5rem; padding-top: 1rem; border-top: 1px solid var(--p-line); font-size: 0.875rem; color: var(--p-soft); }
.bw-prod-pied p { display: flex; gap: 0.5rem; align-items: flex-start; }

/* Comptes producteurs (PROD-82) : espace dans Mon compte, ouverture de compte, fiche, paiement, certificats */
.bw-prod--compte { background: transparent; padding-block: 0 6rem; }
.bw-prod--compte .bw-prod__conteneur { padding-inline: 0; max-width: none; }
.bw-prod__conteneur--etroit { max-width: 40rem; }
.bw-prod-tete__nav ul { row-gap: 0.25rem; }
.bw-prod-alerte--info { background: var(--p-info-pale); color: var(--p-info); }
.bw-prod-alerte--ok { background: var(--p-green-pale); color: var(--p-green-700); }
.bw-prod-alerte .bw-prod-icone { margin-top: 0.15rem; }
.bw-prod-ouverture { display: grid; gap: 0.75rem; padding: 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); box-shadow: var(--p-shadow); }
.bw-prod-ouverture .bw-prod-h2 { margin-bottom: 0; }
.bw-prod-ouverture__liste { display: grid; gap: 0.5rem; }
.bw-prod-ouverture__liste li { display: flex; gap: 0.75rem; align-items: flex-start; }
.bw-prod-ouverture__liste li > span { display: grid; line-height: 1.35; }
.bw-prod-ouverture__liste li > span > span { font-size: 0.875rem; color: var(--p-soft); }
.bw-prod-ouverture__liste li .bw-prod-icone { margin-top: 0.1rem; color: var(--p-soft); }
.bw-prod-ouverture__liste li.est-faite .bw-prod-icone { color: var(--p-green); }
.bw-prod-ouverture__liste--simple { padding: 1rem; border-radius: var(--p-radius); background: var(--p-paper); }
.bw-prod-ouverture__liste--simple .bw-prod-icone { color: var(--p-green) !important; }
.bw-prod-notifs ul { display: grid; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.bw-prod-notif { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.5rem 0.75rem; align-items: start; padding: 0.85rem 1rem; border-radius: var(--p-radius); background: var(--p-white); border: 1px solid var(--p-line); border-left: 4px solid var(--p-info); }
.bw-prod-notif--attention { border-left-color: var(--p-orange); }
.bw-prod-notif--attention > .bw-prod-icone { color: var(--p-orange-700); }
.bw-prod-notif--info > .bw-prod-icone { color: var(--p-info); }
.bw-prod-notif > .bw-btn { grid-column: 2; justify-self: start; }
.bw-prod-form--compte { display: grid; gap: 1.25rem; }
.bw-prod-form--compte select { flex: 1; min-width: 0; min-height: calc(var(--p-tap) - 2px); padding: 0 2.25rem 0 0.75rem; border: 0; font: inherit; font-size: 1rem; color: var(--p-ink); -webkit-appearance: none; appearance: none; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231E1E1C' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.75rem center / 1.25rem; cursor: pointer; }
.bw-prod-form--compte select:focus { outline: none; }
.bw-prod-form--compte textarea { padding-block: 0.6rem; border: 1px solid var(--p-line-strong); border-radius: var(--p-radius-s); background: var(--p-white); }
.bw-prod-form--compte textarea:focus { box-shadow: var(--p-focus); }
.bw-prod-saisie--mdp input { padding-right: 0.25rem; }
.bw-prod-voir { flex: none; min-width: 5.5rem; min-height: calc(var(--p-tap) - 2px); padding: 0 0.75rem; border: 0; border-left: 1px solid var(--p-line); background: var(--p-paper); font: inherit; font-size: 0.875rem; font-weight: 600; color: var(--p-ink); cursor: pointer; }
.bw-prod-voir:focus-visible { box-shadow: inset 0 0 0 3px var(--p-ink); border-radius: 0; }
.bw-prod-piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bw-prod-certifie.est-manquant { border-color: var(--p-error); }
.bw-prod-flash[data-bw-prod-erreurs]:focus { outline: none; box-shadow: var(--p-focus); }
.bw-prod-tete__qui .bw-prod-pastille { flex: none; }

@media (min-width: 600px) {
	.bw-prod__conteneur { padding-inline: 1.5rem; }
	.bw-prod-choix { grid-template-columns: 1fr 1fr; }
	.bw-prod-comment__liste { grid-template-columns: repeat(4, 1fr); }
	.bw-prod-cta { grid-template-columns: 1fr auto; align-items: center; }
	.bw-prod-cta__bouton { width: auto; }
	.bw-prod-exemple__grille { grid-template-columns: auto 1fr; align-items: center; }
	.bw-prod-sugg__boutons > .bw-btn, .bw-prod-sugg__rectif:not([open]) { flex: 0 0 auto; }
	.bw-prod-sugg__boutons .bw-btn { padding: 0 1rem; }
	.bw-prod-pj__tete { grid-template-columns: auto 1fr auto; }
	.bw-prod-pj__tete > .bw-prod-badge { grid-column: auto; }
	.bw-prod-pj__ajout .bw-btn { width: auto; }
	.bw-prod-pj-resume { grid-template-columns: 1fr 1fr; }
	.bw-prod-ajouter .bw-btn { width: auto; }
	.bw-prod-etapes__nom { font-size: 0.875rem; }
}
@media (min-width: 900px) {
	.bw-prod { padding-block: 1.5rem 4rem; }
	.bw-prod-barre { grid-template-columns: auto 1fr auto; align-items: center; margin-inline: 0; border-radius: var(--p-radius) var(--p-radius) 0 0; }
	.bw-prod-sauvegarde { grid-column: auto; order: 0; }
	.bw-prod-barre__suivant { width: auto; min-width: 16rem; }
	.bw-prod-choix { grid-template-columns: repeat(3, 1fr); }
	.bw-prod-choix__carte { grid-template-columns: 1fr; }
	.bw-prod-choix__icone { grid-row: auto; }
	.bw-prod-choix__bouton { margin-top: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.bw-prod *, .bw-prod *::before { transition: none !important; animation: none !important; }
}
}

/* « Ma page » : articles, présentation et photos proposées (PRI, 13/10/2026, enquete.php) */
@layer components {
	.bw-prod-vitrine-carte { margin-top: 1.5rem; padding: 1rem; border-radius: var(--p-radius); background: var(--p-white); box-shadow: var(--p-shadow); }
	.bw-prod-vitrine { display: grid; gap: 1.25rem; }
	.bw-prod-vitrine__etat { font-weight: 600; color: var(--p-green-700); }
	.bw-prod-vitrine__note { color: var(--p-soft); font-size: 0.875rem; }
	.bw-prod-vitrine__bloc { padding: 1rem; border-radius: var(--p-radius); background: var(--p-white); box-shadow: var(--p-shadow); }
	.bw-prod-vitrine__bloc fieldset { border: 0; margin: 0; padding: 0; }
	.bw-prod-vitrine__bloc legend { font-weight: 600; margin-bottom: 0.5rem; }
	.bw-prod-vitrine__articles { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
	.bw-prod-vitrine__articles label { display: flex; gap: 0.75rem; align-items: flex-start; min-height: var(--p-tap); padding: 0.6rem 0.75rem; border: 1px solid var(--p-line); border-radius: var(--p-radius-s); cursor: pointer; }
	.bw-prod-vitrine__articles input { width: 1.5rem; height: 1.5rem; margin-top: 0.1rem; flex: none; }
	.bw-prod-vitrine__articles label > span { display: grid; gap: 0.15rem; min-width: 0; overflow-wrap: anywhere; }
	.bw-prod-vitrine__articles label > span > span { color: var(--p-soft); font-size: 0.875rem; }
	.bw-prod-vitrine__articles a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--p-green-700); font-weight: 600; }
	.bw-prod-vitrine textarea, .bw-prod-vitrine input[type="text"], .bw-prod-vitrine input[type="file"] { display: block; width: 100%; font-size: 1rem; }
	.bw-prod-vitrine input[type="text"], .bw-prod-vitrine input[type="file"] { min-height: var(--p-tap); padding: 0.5rem; }
	.bw-prod-vitrine label[for] { display: block; font-weight: 600; margin-bottom: 0.25rem; }
	.bw-prod-vitrine__choix { display: flex; flex-wrap: wrap; gap: 0.5rem; }
	.bw-prod-vitrine__photos { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
	.bw-prod-vitrine__photos img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--p-radius-s); }
	.bw-prod-vitrine__photos form { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.4rem; }
	.bw-prod-vitrine__photos [aria-pressed="true"] { border-color: var(--p-ink); font-weight: 700; }
	.bw-prod-case { display: flex; gap: 0.6rem; align-items: flex-start; min-height: var(--p-tap); }
	.bw-prod-case { padding: 0.5rem 0; }
	.bw-prod-case input { width: 1.5rem; height: 1.5rem; margin-top: 0.1rem; flex: none; }
}
