/* =====================================================================
 * Bande brune de titre — maquette « bande brune » validée le 7 octobre 2026.
 * Valeurs reprises de la maquette : ordinateur (contenu 1200 px, marges 64 px) et mobile (≤ 760 px, marges 16 px).
 * Rollback : SANRIVAL_BANDE_BRUNE à false (les gabarits n'affichent plus .sr-bande).
 * ===================================================================== */
.sr-bande { --b-brun: var(--sc-ink, #2a1a12); --b-creme: var(--sc-cream, #fdf6ea); --b-creme-70: rgba(253, 246, 234, .72); --b-creme-20: rgba(253, 246, 234, .2); --b-rouge: var(--sc-red, #b21c2d); --b-display: var(--sc-display, "Bricolage Grotesque", sans-serif); --b-texte: var(--sc-font, "Figtree", sans-serif);
	background: var(--b-brun); color: var(--b-creme); }
.sr-bande__in { box-sizing: border-box; max-width: 1200px; margin: 0 auto; padding: var(--sc-space-7) var(--sc-space-8) var(--sc-space-7); display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--sc-space-8); align-items: end; }
.sr-bande__in--seul { grid-template-columns: minmax(0, 1fr); }
.sr-bande__in > * { min-width: 0; }
.sr-bande .sr-ariane { display: flex; flex-wrap: wrap; gap: var(--sc-space-2); margin: 0 0 var(--sc-space-5); font: 400 14px/1.5 var(--b-texte); color: var(--b-creme-70); }
.sr-bande .sr-ariane a { color: var(--b-creme-70); text-decoration: none; } .sr-bande .sr-ariane a:hover { color: var(--b-creme); text-decoration: underline; }
.sr-bande .sr-ariane [aria-current] { color: var(--b-creme); font-weight: 600; }
.sr-bande .sr-sur { display: flex; align-items: center; gap: var(--sc-space-3); margin: 0 0 var(--sc-space-4); font: 600 14px/1.5 var(--b-texte); color: var(--b-creme-70); letter-spacing: 0; text-transform: none; }
.sr-bande .sr-past { display: inline-flex; align-items: center; height: 26px; padding: 0 var(--sc-space-3); border-radius: var(--sc-r-pill); font: 700 14px/1 var(--b-display); white-space: nowrap; }
.sr-bande h1, .sr-bande .sr-bande__titre { margin: 0; font: 800 64px/.95 var(--b-display); letter-spacing: -0.06em; text-transform: lowercase; text-wrap: balance; color: var(--b-creme); }
.sr-bande .sr-bande__titre--geant { font-size: 96px; line-height: .86; letter-spacing: -0.065em; }
.sr-bande .sr-bande__sous { margin: var(--sc-space-4) 0 0; font: 800 40px/1 var(--b-display); letter-spacing: -0.05em; text-transform: lowercase; color: var(--b-creme); }
.sr-mot { display: inline-block; padding: 0 .12em .05em; border-radius: var(--sc-r-sm); background: var(--sc-red, #b21c2d); color: var(--sc-cream, #fdf6ea); }
.sr-mot--fam { background: var(--c3-fam, var(--sc-fam-potageres, #4e8f2f)); color: var(--c3-fam-texte, var(--sc-cream, #fdf6ea)); }
.sr-bande .sr-bande__txt { max-width: 56ch; margin: var(--sc-space-4) 0 0; font: 400 16px/1.5 var(--b-texte); color: var(--b-creme-70); }
.sr-bande .sr-bande__ligne { margin: var(--sc-space-4) 0 0; font: 400 16px/1.5 var(--b-texte); color: var(--b-creme-70); }
.sr-bande .sr-bande__ligne b, .sr-bande .sr-bande__ligne strong { color: var(--b-creme); font-weight: 700; }
.sr-bande .sr-bande__btns { display: flex; flex-wrap: wrap; gap: var(--sc-space-3); margin-top: var(--sc-space-5); }
.sr-bande .sr-bande__btn { display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; box-sizing: border-box; }
.sr-bande .sr-bande__btn--rouge { background: var(--b-rouge); color: var(--b-creme); }
.sr-bande .sr-bande__btn--rouge:hover { background: var(--sc-red-dark, #8e1424); color: var(--b-creme); }
.sr-bande .sr-bande__btn--ligne { border: 1.5px solid var(--b-creme-70); color: var(--b-creme); }
.sr-bande .sr-bande__btn--ligne:hover { border-color: var(--b-creme); background: rgba(253, 246, 234, .08); color: var(--b-creme); }
.sr-bande a:focus-visible, .sr-bande button:focus-visible { outline: 2px solid var(--b-creme); outline-offset: 3px; }
/* Chiffres sous les boutons (accueil) */
.sr-bande .sr-chiffres { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 0; margin: var(--sc-space-5) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--b-creme-20); }
.sr-bande .sr-chiffres > li { margin: 0 var(--sc-space-6) 0 0; padding: var(--sc-space-4) var(--sc-space-6) 0 0; border-right: 1px solid var(--b-creme-20); font: 400 14px/1.5 var(--b-texte); }
.sr-bande .sr-chiffres > li:last-child { border: 0; }
.sr-bande .sr-chiffres b, .sr-bande .sr-chiffres strong { display: block; font: 800 40px/1 var(--b-display); letter-spacing: -0.05em; color: var(--b-creme); }
.sr-bande .sr-chiffres span { font-size: 14px; color: var(--b-creme-70); }
/* Chiffre seul avec filet (catégories) */
.sr-bande .sr-chiffre { display: flex; gap: var(--sc-space-4); align-items: baseline; margin: var(--sc-space-5) 0 0; padding-top: var(--sc-space-4); border-top: 1px solid var(--b-creme-20); font: 400 16px/1.5 var(--b-texte); }
.sr-bande .sr-chiffre b { font: 800 40px/1 var(--b-display); letter-spacing: -0.05em; color: var(--b-creme); }
.sr-bande .sr-chiffre span { font-size: 14px; color: var(--b-creme-70); }
/* Photo à droite, étiquettes et signature dessous */
.sr-bande .sr-bande__photo { margin: 0; padding: 0; }
.sr-bande .sr-bande__cadre { position: relative; aspect-ratio: 4 / 3; border-radius: var(--sc-r-md); overflow: hidden; }
.sr-bande .sr-bande__cadre--haute { aspect-ratio: 4 / 5; }
.sr-bande .sr-bande__cadre picture, .sr-bande .sr-bande__cadre img { display: block; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; }
.sr-bande .sr-etiquettes { display: flex; flex-wrap: wrap; gap: var(--sc-space-2); margin: var(--sc-space-4) 0 0; padding: 0; }
.sr-bande .sr-past--creme { background: var(--b-creme); color: var(--b-brun); }
.sr-bande .sr-past--semer { background: var(--sc-semer, #b7d34a); color: var(--b-brun); }
.sr-bande .sr-past--fam { background: var(--c3-fam, var(--sc-fam-potageres, #4e8f2f)); color: var(--c3-fam-texte, var(--b-creme)); }
.sr-bande .sr-signature { margin: var(--sc-space-4) 0 0; font: 800 32px/1.02 var(--b-display); letter-spacing: -0.045em; text-transform: lowercase; color: var(--b-creme); }
/* Étapes du tunnel */
.sr-etapes { display: flex; flex-wrap: wrap; gap: var(--sc-space-2) var(--sc-space-5); margin: 0 0 var(--sc-space-5); padding: 0; list-style: none; font: 600 14px/1.3 var(--sc-font, "Figtree", sans-serif); white-space: nowrap; }
.sr-bande .sr-etapes { color: var(--b-creme-70); }
.sr-etapes li { margin: 0; padding: 0; }
.sr-etapes .is-fait::before { content: "✓ "; color: var(--sc-semer, #b7d34a); font-weight: 800; }
.sr-bande .sr-etapes .is-ici { color: var(--b-creme); }
.sr-etapes .is-ici::after { content: ""; display: block; height: 2px; margin-top: var(--sc-space-2); border-radius: 2px; background: currentColor; }
/* Repères à droite (confirmation) */
.sr-bande .sr-faits { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--b-creme-20); }
.sr-bande .sr-faits > div { padding: var(--sc-space-4) 0; border-bottom: 1px solid var(--b-creme-20); }
.sr-bande .sr-faits > div:nth-child(odd) { padding-right: var(--sc-space-4); border-right: 1px solid var(--b-creme-20); }
.sr-bande .sr-faits > div:nth-child(even) { padding-left: var(--sc-space-4); }
.sr-bande .sr-faits span { display: block; font: 400 12px/1.4 var(--b-texte); color: var(--b-creme-70); }
.sr-bande .sr-faits b { font: 800 24px/1.1 var(--b-display); letter-spacing: -0.04em; color: var(--b-creme); }
.sr-bande .sr-faits b.is-petit { font: 700 16px/1.3 var(--b-texte); letter-spacing: 0; }
/* Ruban des gestes */
.sr-ruban { display: grid; grid-template-columns: 4fr 2.2fr 2.2fr 4fr; height: 8px; }
.sr-ruban i:nth-child(1) { background: var(--sc-semer, #b7d34a); } .sr-ruban i:nth-child(2) { background: var(--sc-arroser, #8cc5e8); } .sr-ruban i:nth-child(3) { background: var(--sc-attendre, #f0c96a); } .sr-ruban i:nth-child(4) { background: var(--sc-red, #b21c2d); }
@media (max-width: 1020px) {
	.sr-bande__in { grid-template-columns: minmax(0, 1fr); gap: var(--sc-space-6); }
}
@media (max-width: 760px) {
	.sr-bande__in { gap: var(--sc-space-5); padding: var(--sc-space-5) var(--sc-space-4) var(--sc-space-6); }
	.sr-bande h1, .sr-bande .sr-bande__titre { font-size: 40px; }
	.sr-bande .sr-bande__titre--geant { font-size: 64px; }
	.sr-bande .sr-bande__sous { font-size: 28px; }
	.sr-bande .sr-bande__txt { font-size: 14px; }
	.sr-etapes { gap: var(--sc-space-2) var(--sc-space-4); font-size: 12px; }
	.sr-bande .sr-signature { font-size: 24px; }
	.sr-bande .sr-chiffres > li { margin-right: var(--sc-space-4); padding-right: var(--sc-space-4); }
	.sr-bande .sr-chiffres b, .sr-bande .sr-chiffres strong { font-size: 28px; }
}
/* ===== Composants partagés du tunnel (maquette « version allégée », 7 octobre 2026) ===== */
.sr-mot--brun { background: var(--sc-ink, #2a1a12); color: var(--sc-canvas, #fffcf5); }
/* Pastille de famille (couleur par famille de la charte) */
.sr-fam { display: inline-flex; align-items: center; align-self: flex-start; background: var(--f, var(--sc-fam-potageres, #4e8f2f)); color: var(--sc-cream, #fdf6ea); white-space: nowrap; }
.sr-fam.is-potageres { --f: var(--sc-fam-potageres, #4e8f2f); } .sr-fam.is-aromatiques { --f: var(--sc-fam-aromatiques, #2c7a8c); } .sr-fam.is-fleurs { --f: var(--sc-fam-fleurs, #c2336b); }
.sr-fam.is-anciennes { --f: var(--sc-fam-anciennes, #c9791b); color: var(--sc-ink, #2a1a12); } .sr-fam.is-bio { --f: var(--sc-fam-bio, #a9b52a); color: var(--sc-ink, #2a1a12); } .sr-fam.is-kids { --f: var(--sc-fam-kids, #f2a900); color: var(--sc-ink, #2a1a12); }
.sr-fam.is-jardin { --f: var(--sc-fam-jardin, #a1512b); } .sr-fam.is-animalerie { --f: var(--sc-fam-animalerie, #3f67a0); } .sr-fam.is-nuisibles { --f: var(--sc-fam-nuisibles, #6a3f86); }
/* Bouton « + Ajouter » compact */
a.sr-mini-aj, a.sr-mini-aj.button { display: inline-flex !important; align-items: center; gap: var(--sc-space-2); margin: 0 !important; border: 0 !important; background: var(--sc-red, #b21c2d) !important; color: var(--sc-cream, #fdf6ea) !important; text-decoration: none !important; white-space: nowrap; }
a.sr-mini-aj::before { content: "+"; font-size: 16px; line-height: 1; }
a.sr-mini-aj.is-voir::before { content: none; }
a.sr-mini-aj:hover { background: var(--sc-red-dark, #8e1424) !important; }
a.sr-mini-aj.loading { opacity: .7; } a.sr-mini-aj.added::before { content: "✓"; }
.sr-mini-aj + a.added_to_cart { display: none !important; }
/* Cartes compactes */
.sr-cartes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sc-space-3); }
.sr-carte { display: grid; gap: var(--sc-space-2); align-content: start; min-width: 0; padding: var(--sc-space-3); border-radius: var(--sc-r-md); background: var(--sc-canvas, #fffcf5); box-shadow: 0 0 0 1px var(--sc-line, #eadfc4); }
.sr-carte__ph { display: block; aspect-ratio: 1; } .sr-carte__ph img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sr-carte__nom { font: 800 16px/1.1 var(--sc-display, "Bricolage Grotesque", sans-serif); letter-spacing: -0.03em; text-transform: lowercase; color: var(--sc-ink, #2a1a12); text-decoration: none; }
.sr-carte__bas { display: flex; justify-content: space-between; align-items: center; gap: var(--sc-space-2); margin-top: var(--sc-space-1); }
.sr-carte__bas strong, .sr-carte__bas strong .amount { font: 800 16px/1 var(--sc-display, "Bricolage Grotesque", sans-serif); letter-spacing: -0.03em; color: var(--sc-ink, #2a1a12); }
.sr-carte__bas strong del { display: none; } .sr-carte__bas strong ins { text-decoration: none; }

.sr-carte .woocommerce-Price-currencySymbol { font: inherit; }
@media (max-width: 760px) {
	.sr-cartes { display: flex; gap: var(--sc-space-3); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: -16px; padding: 1px var(--sc-space-4) var(--sc-space-1) 1px; }
	.sr-cartes::-webkit-scrollbar { display: none; }
	.sr-cartes > .sr-carte { flex: 0 0 44%; scroll-snap-align: start; }
}
/* Livraison offerte en bloc vert « semer » (page panier et page commande) */
.sr-cart3-offert { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sc-space-2) var(--sc-space-5); align-items: end; margin: 0 0 var(--sc-space-5); padding: var(--sc-space-5) var(--sc-space-6); border-radius: var(--sc-r-lg); background: var(--sc-semer, #b7d34a); color: var(--sc-ink, #2a1a12); }
.sr-cart3-offert__past { grid-column: 1; justify-self: start; display: inline-flex; align-items: center; height: 24px; padding: 0 var(--sc-space-3); border-radius: var(--sc-r-pill); background: var(--sc-ink, #2a1a12); color: var(--sc-canvas, #fffcf5); font: 700 12px/1 var(--sc-display, "Bricolage Grotesque", sans-serif); }
.sr-cart3-offert__t { grid-column: 1; margin: 0; font: 800 48px/.95 var(--sc-display, "Bricolage Grotesque", sans-serif); letter-spacing: -0.055em; text-transform: lowercase; }
.sr-cart3-offert__t .sr-mot { border-radius: var(--sc-r-sm); }
.sr-cart3-offert__t .amount, .sr-cart3-offert__t .woocommerce-Price-currencySymbol { font: inherit; color: inherit; }
.sr-cart3-offert__s { grid-column: 1; margin: 0; font: 600 16px/1.4 var(--sc-font, "Figtree", sans-serif); }
.sr-cart3-offert__seuil { grid-column: 2; grid-row: 2 / span 2; margin: 0; text-align: right; font: 600 12px/1.3 var(--sc-font, "Figtree", sans-serif); }
.sr-cart3-offert__seuil b, .sr-cart3-offert__seuil .amount { display: block; font: 800 24px/1 var(--sc-display, "Bricolage Grotesque", sans-serif); letter-spacing: -0.04em; }
.sr-cart3-offert__rail { grid-column: 1 / -1; height: 12px; margin-top: var(--sc-space-3); border-radius: var(--sc-r-pill); background: rgba(42, 26, 18, .16); overflow: hidden; }
.sr-cart3-offert__rail i { display: block; height: 100%; border-radius: var(--sc-r-pill); background: var(--sc-ink, #2a1a12); }
.sr-cart3-offert.is-ok .sr-cart3-offert__seuil { display: none; }
@media (max-width: 760px) {
	.sr-cart3-offert { padding: var(--sc-space-5); margin-bottom: var(--sc-space-5); }
	.sr-cart3-offert__t { font-size: 32px; }
	.sr-cart3-offert__seuil { display: none; }
}
.sr-mot--vert { background: var(--sc-semer, #b7d34a); color: var(--sc-ink, #2a1a12); border-radius: var(--sc-r-xs); }

/* Photos produit (images Codex) : elles remplissent leur cadre partout, sans marge ni fond.
   La classe sr-photo est posée par sanrival_v3_photo_image_class() ; les packshots détourés gardent leur marge. */
img.sr-photo { object-fit: cover !important; padding: 0 !important; background: none !important; mix-blend-mode: normal !important; }
/* Le cadre qui ne contient que la photo perd sa marge et son fond blanc : la photo va jusqu'au bord. */
:where(a, span, div, figure, td, button, picture):has(> img.sr-photo:only-child) { padding: 0 !important; background: none !important; overflow: hidden; }
:where(a, span, div, figure, td, button, picture):has(> img.sr-photo:only-child) > img.sr-photo { width: 100% !important; height: 100% !important; max-width: none; border: 0 !important; }

/* =====================================================================
 * Hauteur commune par famille (maquette « bandeaux », validée le 13 octobre 2026).
 * Pages titre 360 px, tunnel d'achat 280 px, pages avec photo 690 px (ordinateur, deux colonnes) ;
 * 440 / 210 px et hauteur libre sur mobile. Le contenu est toujours centré en hauteur, sans vide :
 * les marges intérieures, égales en haut et en bas, ne sont plus qu'un minimum (36 px titre, 31 px tunnel, 44 px photo).
 * Les guides et la page des guides (gabarits du plugin) sont reconnus par leur titre.
 * ===================================================================== */
.sr-bande:is(.sr-bande--titre, .sr-bande--tunnel, .sr-bande--photo),
.sr-bande.srg3-bande:is([aria-labelledby="srg3-h1"], [aria-labelledby="srh3b-h1"]) { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; }
.sr-bande:is(.sr-bande--titre, .sr-bande--tunnel, .sr-bande--photo) > *,
.sr-bande.srg3-bande:is([aria-labelledby="srg3-h1"], [aria-labelledby="srh3b-h1"]) > * { width: 100%; }
/* Le contenu se centre ; le ruban de couleurs, quand il est dans la bande (catégories, recherche), reste collé en bas. */
html body .sr-bande.sr-bande.sr-bande:is(.sr-bande--titre, .sr-bande--tunnel, .sr-bande--photo, .srg3-bande[aria-labelledby="srg3-h1"], .srg3-bande[aria-labelledby="srh3b-h1"]) > :first-child { margin-top: auto; margin-bottom: auto; }
.sr-bande:is(.sr-bande--titre, .sr-bande--tunnel, .sr-bande--photo) > :is(.src3-ruban, .sr-ruban) { flex: none; margin-top: 0; }
@media (min-width: 761px) {
	.sr-bande--titre, .sr-bande.srg3-bande[aria-labelledby="srh3b-h1"] { min-height: 360px; }
	.sr-bande--tunnel { min-height: 280px; }
	html body .sr-bande.sr-bande:is(.sr-bande--titre, .srg3-bande[aria-labelledby="srh3b-h1"]) :is(.sr-bande__in, .srr3-hero__in) { padding-top: var(--sc-space-6); padding-bottom: var(--sc-space-6); }
	.sr-bande.sr-bande--tunnel .sr-bande__in { padding-top: var(--sc-space-6); padding-bottom: var(--sc-space-6); }
}
@media (min-width: 1021px) {
	/* Pages titre : le bloc de droite passe à 320 px, texte et bloc centrés l'un sur l'autre. */
	.sr-bande:is(.sr-bande--titre, .srg3-bande[aria-labelledby="srh3b-h1"]) .sr-bande__in { align-items: center; }
	.sr-bande:is(.sr-bande--titre, .srg3-bande[aria-labelledby="srh3b-h1"]) .sr-bande__in:not(.sr-bande__in--seul) { grid-template-columns: minmax(0, 1fr) 320px; }
	/* Pages avec photo : 690 px, photo de 500 px de haut, texte centré sur la photo. */
	.sr-bande--photo, .sr-bande.srg3-bande[aria-labelledby="srg3-h1"] { min-height: 690px; }
	html body.sr-charte .sr-bande.sr-bande:is(.sr-bande--photo, .srg3-bande[aria-labelledby="srg3-h1"]) :is(.sr-bande__in, .srh3-bande__in, .src3-hero__grille) { align-items: center; padding-top: var(--sc-space-7); padding-bottom: var(--sc-space-7); }
	body.sr-charte .src3 .src3-hero.sr-bande.sr-bande--photo .src3-cadre { aspect-ratio: 4 / 5; }
}
@media (max-width: 760px) {
	.sr-bande--titre, .sr-bande.srg3-bande[aria-labelledby="srh3b-h1"] { min-height: 440px; }
	.sr-bande--tunnel { min-height: 210px; }
}
