/* Brewstock v2 — page « Indice des prix du houblon » (module indice-prix, IDX).
   S'ajoute à donnees.css du thème (en-tête, chiffres clés, tableaux, définitions, fichiers). Mobile d'abord (375 px),
   puis 600 / 900 px. Jetons --bw-* de base.css uniquement, couche components. Jamais d'information portée par la
   couleur seule : chaque barre porte son pays, sa culture et sa valeur en texte. */

@layer components {
	.bw-ip .bw-donnees__heros { padding-bottom: var(--bw-s5); }
	.bw-ip-nombre { font-variant-numeric: tabular-nums; font-weight: 700; }

	/* Données d'essai */
	.bw-ip-essai { display: flex; gap: var(--bw-s2); align-items: flex-start; margin-top: var(--bw-s4); max-width: 44rem; padding: var(--bw-s3) var(--bw-s4); border-left: 4px solid var(--bw-ink); border-radius: var(--bw-radius-s); background: var(--bw-fond-photo); font-size: var(--bw-fs-sm); color: var(--bw-ink); }
	.bw-ip-essai .bw-icone { flex: none; margin-top: 0.1em; }

	/* ---------- Filtres ---------- */
	.bw-ip-filtres-bloc { padding-block: var(--bw-s5); }
	.bw-ip-filtres { display: grid; gap: var(--bw-s4); }
	.bw-ip-filtres fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
	.bw-ip-filtres legend, .bw-ip-filtres label:not(.bw-ip-puce) { display: block; margin-bottom: var(--bw-s1); font-size: var(--bw-fs-sm); font-weight: 700; color: var(--bw-ink); }
	.bw-ip-filtres select { width: 100%; }
	.bw-ip-puces { display: flex; flex-wrap: wrap; gap: var(--bw-s2); }
	.bw-ip-puce { position: relative; display: inline-flex; align-items: center; gap: var(--bw-s2); min-height: var(--bw-tap); padding: 0 var(--bw-s4); border: 1px solid var(--bw-line-strong); border-radius: var(--bw-radius-pill); background: var(--bw-white); font-size: var(--bw-fs-sm); font-weight: 600; cursor: pointer; }
	.bw-ip-puce input { width: 1.125rem; height: 1.125rem; margin: 0; accent-color: var(--bw-ink); }
	.bw-ip-puce:has(input:checked) { border-color: var(--bw-ink); background: var(--bw-ink); color: var(--bw-cream); }
	.bw-ip-puce:has(input:checked) input { accent-color: var(--bw-cream); }
	.bw-ip-puce:has(input:focus-visible) { box-shadow: var(--bw-focus); }
	.bw-ip-filtres__ok { justify-self: start; }
	.bw-ip-filtres[aria-busy="true"] { opacity: 0.7; }
	[data-bw-ip-resultats][aria-busy="true"] { opacity: 0.6; transition: opacity var(--bw-duree); }

	/* ---------- Graphique en barres ---------- */
	.bw-ip-graphique { margin: 0; }
	.bw-ip-barres { display: grid; gap: var(--bw-s3); margin: 0 0 var(--bw-s3); padding: 0; list-style: none; }
	.bw-ip-barre { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "lib chiffre" "piste piste" "detail detail"; gap: var(--bw-s1) var(--bw-s3); align-items: center; padding: var(--bw-s3); border: 1px solid var(--bw-line); border-radius: var(--bw-radius-m); background: var(--bw-white); }
	.bw-ip-barre__lib { grid-area: lib; min-width: 0; }
	.bw-ip-barre__sous { display: block; font-size: var(--bw-fs-xs); color: var(--bw-text-soft); }
	.bw-ip-barre__piste { grid-area: piste; position: relative; display: block; height: 1.25rem; border-radius: var(--bw-radius-s); background: #EFEDE6; overflow: hidden; }
	.bw-ip-barre__plage { position: absolute; inset-block: 0; background: var(--bw-green-light); }
	.bw-ip-barre__valeur { position: absolute; inset-block: 0.3125rem; inset-inline-start: 0; border-radius: 0 var(--bw-radius-s) var(--bw-radius-s) 0; background: var(--bw-green-700); }
	.bw-ip-barre--bio .bw-ip-barre__valeur { background: repeating-linear-gradient(135deg, var(--bw-green-700) 0 6px, #0E6753 6px 9px); }
	.bw-ip-barre__chiffre { grid-area: chiffre; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
	.bw-ip-barre__chiffre strong { font-size: var(--bw-fs-md); }
	.bw-ip-barre__chiffre span { margin-left: 0.15em; font-size: var(--bw-fs-xs); color: var(--bw-text-soft); }
	.bw-ip-barre__detail { grid-area: detail; font-size: var(--bw-fs-xs); color: var(--bw-text-soft); font-variant-numeric: tabular-nums; }
	.bw-ip-vide { padding: var(--bw-s4); border: 1px dashed var(--bw-line-strong); border-radius: var(--bw-radius-m); background: var(--bw-white); color: var(--bw-ink); max-width: 44rem; }

	/* ---------- Par pays ---------- */
	.bw-ip-sommaire ul { display: flex; flex-wrap: wrap; gap: var(--bw-s2); margin: 0 0 var(--bw-s5); padding: 0; list-style: none; }
	.bw-ip-sommaire a { display: inline-flex; align-items: center; min-height: var(--bw-tap); padding: 0 var(--bw-s4); border: 1px solid var(--bw-line-strong); border-radius: var(--bw-radius-pill); background: var(--bw-white); color: var(--bw-ink); font-size: var(--bw-fs-sm); font-weight: 600; text-decoration: none; }
	.bw-ip-sommaire a:hover { border-color: var(--bw-ink); color: var(--bw-ink); }
	.bw-ip-pays { padding-block: var(--bw-s4); border-top: 1px solid var(--bw-line); scroll-margin-top: calc(var(--bw-entete-h) + var(--bw-s4)); }
	.bw-ip-pays:first-of-type { border-top: 0; padding-top: 0; }
	.bw-ip-pays__titre { font-size: var(--bw-fs-h3); }
	.bw-ip-pays__resume { margin: var(--bw-s1) 0 var(--bw-s3); font-size: var(--bw-fs-sm); color: var(--bw-text-soft); }
	.bw-ip-pays .bw-donnees__defile + .bw-donnees__defile { margin-top: var(--bw-s4); }
	.bw-ip-table { min-width: 40rem; }
	.bw-ip-table__toutes > * { background: var(--bw-fond-photo); font-weight: 700; }
	.bw-donnees__table .bw-ip-table__toutes > :first-child { background: var(--bw-fond-photo); }
	.bw-ip-insuffisant { color: var(--bw-ink); font-style: italic; }
	.bw-ip-faibles { margin-top: var(--bw-s2); font-size: var(--bw-fs-sm); }
	.bw-ip-faibles summary { display: flex; align-items: center; min-height: var(--bw-tap); cursor: pointer; font-weight: 600; color: var(--bw-ink); }
	.bw-ip-faibles p { margin: 0 0 var(--bw-s2); }
	.bw-ip-insuffisant__detail { font-size: var(--bw-fs-xs); color: var(--bw-text-soft); font-style: normal; }

	/* ---------- Méthode ---------- */
	.bw-ip-taux, .bw-ip-limites { margin: var(--bw-s2) 0 0; padding-left: 1.25rem; }
	.bw-ip-taux { list-style: none; padding-left: 0; font-variant-numeric: tabular-nums; }
	.bw-ip-limites { list-style: disc; }
	.bw-ip-limites li + li { margin-top: var(--bw-s1); }
	.bw-donnees__definitions dd p + p { margin-top: var(--bw-s2); }
	.bw-ip-fichiers { margin-bottom: var(--bw-s3); }

	@media (min-width: 600px) {
		.bw-ip-filtres { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
		.bw-ip-filtres__culture { grid-column: 1 / -1; }
		.bw-ip-filtres__ok { grid-column: 1 / -1; }
		.bw-ip-fichiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	}
	@media (min-width: 900px) {
		.bw-ip-filtres { grid-template-columns: auto repeat(3, minmax(10rem, 14rem)) auto; }
		.bw-ip-filtres__culture, .bw-ip-filtres__ok { grid-column: auto; }
		.bw-ip-barre { grid-template-columns: 15rem minmax(0, 1fr) 9rem; grid-template-areas: "lib piste chiffre" ". detail ."; }
		.bw-ip-barre__piste { height: 1.5rem; }
	}
	@media (prefers-reduced-motion: reduce) {
		[data-bw-ip-resultats][aria-busy="true"] { transition: none; }
	}
}
