/* =====================================================================
 * Boutique (/boutique/) et page 404 v3 — maquette validée le 8 octobre 2026.
 * Bande brune et ruban : bande-v3.css ; cartes produit, tri et pagination de base : catalog-v3.css (.srr3).
 * Ordinateur : contenu 1200 px, marges 64 px ; mobile (≤ 760 px) : marges 16 px. Aucun aplat de couleur.
 * Rollback : SANRIVAL_BOUTIQUE_V3 / SANRIVAL_404_V3 à false.
 * ===================================================================== */
main.srb3, .srb3--panier { --b3-brun: var(--sc-ink, #2a1a12); --b3-brun-2: var(--sc-ink-soft, #4a2f22); --b3-mute: var(--sc-ink-mute, #6b4a38); --b3-rouge: var(--sc-red, #b21c2d); --b3-canvas: var(--sc-canvas, #fffcf5); --b3-creme: var(--sc-cream, #fdf6ea); --b3-filet: var(--sc-line, #eadfc4); --b3-filet-fort: var(--sc-line-strong, #dccda8); --b3-display: var(--sc-display, "Bricolage Grotesque", sans-serif); --b3-texte: var(--sc-font, "Figtree", sans-serif);
	margin: 0; padding: 0; background: var(--b3-canvas); color: var(--b3-brun); font: 400 16px/1.6 var(--b3-texte); overflow: clip; }
.srb3 *, .srb3 *::before, .srb3 *::after { box-sizing: border-box; }
.srb3 h2, .srb3 p, .srb3 ul { margin: 0; }
.srb3 a:focus-visible, .srb3 button:focus-visible, .srb3 summary:focus-visible, .srb3 input:focus-visible, .srb3 select:focus-visible { outline: 2px solid var(--b3-rouge); outline-offset: 3px; }
.srb3 .sr-bande a:focus-visible { outline-color: var(--b3-creme); }
.srb3-in { max-width: 1200px; margin: 0 auto; padding: 0 var(--sc-space-8); }
.srb3 .sr-mot { border-radius: .16em; }

/* Bande brune : repères à filets (boutique), bouton crème (404) */
.srb3 .sr-sur { flex-wrap: wrap; }
.srb3-reperes { padding: 0; list-style: none; border-top: 1px solid rgba(253, 246, 234, .2); }
.srb3-reperes li { display: grid; gap: 2px; margin: 0; padding: var(--sc-space-3) 0; border-bottom: 1px solid rgba(253, 246, 234, .2); }
.srb3-reperes b { font: 800 20px/1.1 var(--b3-display); letter-spacing: -0.035em; text-transform: lowercase; color: var(--b3-creme); }
.srb3-reperes span { font: 400 14px/1.45 var(--b3-texte); color: rgba(253, 246, 234, .72); }
.srb3 .sr-bande .sr-bande__btns { gap: var(--sc-space-3); margin-top: var(--sc-space-5); }
.srb3 .sr-bande a.srb3-btn-creme { gap: var(--sc-space-2); background: var(--b3-creme); color: var(--b3-brun); text-decoration: none; }
.srb3 .sr-bande a.srb3-btn-creme:hover { background: #fff; color: var(--b3-brun); }
.srb3 .sr-bande .sr-bande__btn--ligne { text-decoration: none; }

/* Sections */
.srb3-sec { padding-top: var(--sc-space-7); }
.srb3-sec:last-child { padding-bottom: var(--sc-space-10); }
.srb3-tete { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--sc-space-4); margin-bottom: var(--sc-space-4); }
.srb3 .srb3-petit { margin: 0 0 var(--sc-space-2); font: 600 14px/1.4 var(--b3-texte); color: var(--b3-mute); }
.srb3 .srb3-h2 { margin: 0; text-transform: lowercase; text-wrap: balance; color: var(--b3-brun); }

/* Univers en tuiles photo */
.srb3-univers { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sc-space-4); padding: 0; list-style: none; }
.srb3-univers li { margin: 0; min-width: 0; }
.srb3 .srb3-univers a { display: grid; gap: var(--sc-space-3); color: var(--b3-brun); text-decoration: none; }
.srb3-univers__ph { display: block; aspect-ratio: 4 / 3; border-radius: var(--sc-r-md); overflow: hidden; background: var(--b3-creme); }
.srb3-univers__ph img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .3s ease; }
.srb3 .srb3-univers a:hover img { transform: scale(1.03); }
.srb3-univers b { display: flex; align-items: center; gap: var(--sc-space-2); font: 800 20px/1.1 var(--b3-display); letter-spacing: -0.03em; }
.srb3-univers b::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--g); }
.srb3-univers__n { font-size: 14px; line-height: 1.4; color: var(--b3-mute); }
@media (prefers-reduced-motion: reduce) { .srb3-univers__ph img { transition: none; } }

/* Catalogue : filtres + produits */
body.sr-charte .srb3 .srb3-grille { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--sc-space-7); align-items: start; }
.srb3-filtres > summary { display: flex; justify-content: space-between; align-items: center; margin: 0 0 var(--sc-space-4); font: 800 20px/1 var(--b3-display); letter-spacing: -0.04em; text-transform: lowercase; list-style: none; cursor: default; }
.srb3-filtres > summary::-webkit-details-marker { display: none; }
.srb3-filtres > summary small { display: none; }
.srb3-groupe { padding: var(--sc-space-4) 0; border-top: 1px solid var(--b3-filet); }
.srb3 .srb3-groupe__t { margin: 0 0 var(--sc-space-2); font: 800 16px/1.2 var(--b3-display); letter-spacing: -0.02em; text-transform: lowercase; }
.srb3 a.srb3-opt { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: var(--sc-space-3); align-items: center; padding: var(--sc-space-2) 0; color: var(--b3-brun-2); font: 500 14px/1.3 var(--b3-texte); text-decoration: none; }
.srb3 a.srb3-opt:hover span { text-decoration: underline; }
.srb3-opt i { width: 16px; height: 16px; border-radius: var(--sc-r-xs); box-shadow: inset 0 0 0 1.5px var(--b3-filet-fort); background: #fff; }
.srb3-opt.is-on i { box-shadow: none; background: var(--b3-brun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 6.2 2 2 4-4.4' fill='none' stroke='%23fdf6ea' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }
.srb3 a.srb3-opt.is-on { color: var(--b3-brun); font-weight: 700; }
.srb3-opt em { font-style: normal; font-size: 12px; color: var(--b3-mute); font-variant-numeric: tabular-nums; }
.srb3-opt__pt { display: inline-block; width: 8px; height: 8px; margin-right: var(--sc-space-2); border-radius: 50%; background: var(--g); vertical-align: 1px; }
.srb3-plus > summary { display: inline-block; margin-top: var(--sc-space-2); font: 700 14px/1.3 var(--b3-texte); color: var(--b3-brun); text-decoration: underline; text-underline-offset: 3px; list-style: none; cursor: pointer; }
.srb3-plus > summary::-webkit-details-marker { display: none; }
.srb3-plus[open] > summary { margin-bottom: var(--sc-space-1); }
.srb3 .srb3-effacer { display: inline-block; margin-top: var(--sc-space-1); font: 700 14px/1 var(--b3-texte); color: var(--b3-brun); text-decoration: underline; text-underline-offset: 3px; }
.srb3 .srb3-plus-loin { display: block; margin: var(--sc-space-1) 0 var(--sc-space-4); font: 700 14px/1.3 var(--b3-texte); color: var(--b3-brun); text-decoration: underline; text-underline-offset: 3px; }
.srb3-barre > * { min-width: 0; }
.srb3-barre { display: flex; justify-content: space-between; align-items: center; gap: var(--sc-space-3); margin: 0 0 var(--sc-space-4); }
.srb3 .srb3-barre__nb { margin: 0; font: 800 24px/1 var(--b3-display); letter-spacing: -0.04em; white-space: nowrap; }
.srb3-tri { display: inline-flex; align-items: center; gap: var(--sc-space-3); font-size: 14px; color: var(--b3-mute); }
body.sr-charte .srb3 .woocommerce-ordering { margin: 0; }
body.sr-charte .srb3 .woocommerce-ordering select { width: auto !important; max-width: 100%; min-width: 170px; }
body.sr-charte .srb3 .woocommerce-pagination { margin-top: var(--sc-space-6); }
body.sr-charte .srb3 .woocommerce-pagination ul { gap: var(--sc-space-2); align-items: center; }
body.sr-charte .srb3 .woocommerce-pagination :is(a, span) { min-width: 40px; height: 40px; padding: 0 var(--sc-space-3); border: 0; box-shadow: inset 0 0 0 1.5px var(--b3-filet); font: 700 14px/1 var(--b3-display); color: var(--b3-brun); text-decoration: none; }
body.sr-charte main.srb3 .woocommerce-pagination ul li span.current { box-shadow: none !important; border: 0 !important; background: var(--b3-brun) !important; color: var(--b3-canvas) !important; }
body.sr-charte .srb3 .woocommerce-pagination span.dots { min-width: 0; padding: 0; box-shadow: none; color: var(--b3-mute); }
.srb3-vide { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--sc-space-4) var(--sc-space-5); padding: var(--sc-space-4) 0; border-top: 1px solid var(--b3-filet); border-bottom: 1px solid var(--b3-filet); }
.srb3-vide p { font-size: 16px; color: var(--b3-brun-2); }

/* Boutons et recherche (404) */
.srb3 .srb3-btn { display: inline-flex; align-items: center; justify-content: center; margin: 0; border: 0; background: var(--b3-brun); color: var(--b3-canvas); text-decoration: none; white-space: nowrap; cursor: pointer; }
.srb3 .srb3-btn:hover { background: var(--b3-brun-2); color: var(--b3-canvas); }
.srb3-chercher { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sc-space-8); align-items: end; }
.srb3-form { display: grid; gap: var(--sc-space-2); margin: 0; }
.srb3-form label { font: 600 14px/1.3 var(--b3-texte); color: var(--b3-brun); }
.srb3 .srb3-essais { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sc-space-2); margin-top: var(--sc-space-2); font-size: 14px; color: var(--b3-mute); }
.srb3 .srb3-essais a { display: inline-flex; align-items: center; color: var(--b3-brun); text-decoration: none; }


/* Tablette : filtres repliés au-dessus des produits */
@media (max-width: 1020px) {
	body.sr-charte .srb3 .srb3-grille { grid-template-columns: minmax(0, 1fr); gap: var(--sc-space-4); }
	.srb3-filtres { padding: 0 var(--sc-space-4); border-radius: var(--sc-r-md); background: var(--b3-creme); }
	.srb3-filtres > summary { margin: 0; padding: var(--sc-space-4) 0; font-size: 18px; cursor: pointer; }
	.srb3-filtres > summary small { display: inline; font: 600 14px/1 var(--b3-texte); letter-spacing: 0; text-transform: none; color: var(--b3-mute); }
	.srb3-filtres > summary small::after { content: " ▾"; }
	.srb3-filtres[open] > summary small::after { content: " ▴"; }
	.srb3-filtres[open] { padding-bottom: var(--sc-space-4); }
	.srb3-univers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1020px) and (min-width: 761px) {
	.srb3-univers { display: flex; overflow-x: auto; scrollbar-width: none; }
	.srb3-univers li { flex: 0 0 30%; }
}

/* Mobile (maquette 390 px) */
@media (max-width: 760px) {
	.srb3-in { padding: 0 var(--sc-space-4); }
	.srb3 .sr-bande .sr-ariane { margin-bottom: var(--sc-space-4); font-size: 12px; }
	
	.srb3-reperes b { font-size: 18px; }
	.srb3 .sr-bande .sr-bande__btns a { flex: 1 1 100%; justify-content: center; height: 48px; }
	.srb3-sec { padding-top: var(--sc-space-6); }
	.srb3-sec:last-child { padding-bottom: var(--sc-space-8); }
	.srb3-tete { flex-wrap: wrap; align-items: flex-start; }
	
	.srb3-univers { display: flex; gap: var(--sc-space-3); overflow-x: auto; margin-right: -16px; padding-right: var(--sc-space-4); scrollbar-width: none; }
	.srb3-univers::-webkit-scrollbar { display: none; }
	.srb3-univers li { flex: 0 0 64%; }
	.srb3 .srb3-barre__nb { font-size: 20px; }
	.srb3-tri > span { display: none; }
	body.sr-charte .srb3 .woocommerce-ordering select { min-width: 150px; }
	/* Cartes : composant commun (assets/css/composants.css), plus de variante propre à la boutique (21 oct. 2026). */
	body.sr-charte .srb3 .woocommerce-pagination li:has(.dots), body.sr-charte .srb3 .woocommerce-pagination li:nth-child(4):not(:last-child):not(:has(.current)) { display: none; }
	.srb3-chercher { grid-template-columns: minmax(0, 1fr); gap: var(--sc-space-5); }
}

/* Panier vide : rendu dans le contenu de la page panier (grille de cart-v3.css), pleine largeur comme la bande du panier. */
body.woocommerce-cart .sr-page-content > .woocommerce:has(> .srb3--panier) { display: block; padding-bottom: 0; }
body.woocommerce-cart .woocommerce > .srb3--panier { margin-inline: calc(50% - 50vw); }
.srb3--panier .sr-bande .sr-etapes { margin-bottom: var(--sc-space-5); }
.srb3--panier .srb3-in > :is(.woocommerce-notices-wrapper:not(:empty), .woocommerce-message, .woocommerce-info) { margin-bottom: var(--sc-space-5); }
