/* RECETTES DU SITE — même vocabulaire que la fiche produit « Étal du marché » (17/09/2026) : scène sur fond sable,
   titre souligné au feutre, jetons blancs, icônes dessinées, un seul vert (le jeton --bio-green et ses teintes),
   textes bruns, Quicksand. Tout est limité à .bio-rc. Les !important répondent à la règle du thème qui repeint
   tous les boutons en brun et aux styles génériques d'Elementor sur les listes. */

.bio-rc {
	--rc-brun: var(--bio-brown, #422E2D);
	--rc-brun2: var(--bio-brown-dark, #372726);
	--rc-vert: var(--bio-green, #A8C400);
	--rc-teinte: rgba(var(--bio-green-rgb, 168, 196, 0), .14);
	--rc-teinte2: rgba(var(--bio-green-rgb, 168, 196, 0), .30);
	--rc-creme: var(--bio-cream, #F9F7F2);
	--rc-sable: #EFE6D7;
	--rc-sable-bord: #e3d3b8;
	--rc-beige: #F3EEE5;
	--rc-bord: var(--bio-border-warm, #e8e3dc);
	--rc-gris: #6f6660;
	--rc-gris2: #5a4f49;
	--rc-ombre: 0 6px 22px rgba(66, 46, 45, .06);
	font-family: 'Quicksand', system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--rc-brun);
	text-align: left;
	box-sizing: border-box;
}
.bio-rc *, .bio-rc *::before, .bio-rc *::after { box-sizing: border-box; }
.bio-rc p { margin: 0; }
.bio-rc ul, .bio-rc ol { margin: 0; padding: 0; list-style: none; }
.bio-rc img { max-width: 100%; height: auto; border: 0; margin: 0; }
.bio-rc h1, .bio-rc h2, .bio-rc h3 { margin: 0; font-family: 'Quicksand', system-ui, sans-serif !important; color: var(--rc-brun) !important; text-transform: none !important; letter-spacing: normal; }
.bio-rc a { color: var(--rc-brun); text-decoration: none; }
.bio-rc a:hover { color: var(--rc-brun); }
.bio-rc :focus-visible { outline: 3px solid var(--rc-brun); outline-offset: 2px; }
.bio-rc button { font-family: 'Quicksand', system-ui, sans-serif !important; -webkit-tap-highlight-color: transparent; }
.bio-rc b, .bio-rc strong { font-variant-numeric: tabular-nums; }
.bio-rc-page { max-width: 1200px; margin: 10px auto 56px; padding: 0 24px; }
.bio-rc-ic { display: inline-block; width: 22px; height: 22px; object-fit: contain; flex: 0 0 auto; }
.bio-rc-ic--btn { width: 22px; height: 22px; }

/* ── Titres et traits de feutre ── */
.bio-rc-kicker { display: block; margin-bottom: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rc-gris); }
.bio-rc-titre { font-size: clamp(30px, 1.9vw + 18px, 46px) !important; font-weight: 700 !important; line-height: 1.08 !important; letter-spacing: -.01em !important; overflow-wrap: break-word; text-wrap: balance; }
.bio-rc-h2 { font-size: clamp(22px, 1vw + 16px, 30px) !important; font-weight: 700 !important; line-height: 1.15 !important; text-wrap: balance; }
.bio-rc-h3 { font-size: 19px !important; font-weight: 700 !important; line-height: 1.2 !important; }
.bio-rc-souligne { position: relative; z-index: 0; white-space: nowrap; }
.bio-rc-trait { position: absolute; left: -3%; bottom: -.06em; z-index: -1; width: 106%; height: .44em; fill: var(--rc-vert); }
.bio-rc-tuile { display: inline-grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; padding: 9px; border-radius: 14px; background: #fff; border: 1px solid var(--rc-bord); }
.bio-rc-tuile .bio-rc-ic { width: 100%; height: 100%; }
.bio-rc-tuile--grande { width: 72px; height: 72px; padding: 16px; border-radius: 22px; }
.bio-rc-bloc-tete { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.bio-rc-lien { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; text-decoration-color: var(--rc-vert); }
.bio-rc-lien:hover { text-decoration-color: var(--rc-brun); }

/* ── Boutons : le vert du site, texte brun foncé (le blanc ne se lit pas sur ce vert) ── */
.bio-rc .bio-rc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; margin: 0; padding: 0 22px; border: 0 !important; border-radius: 999px !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease; }
.bio-rc .bio-rc-btn--vert { background: var(--rc-vert) !important; color: var(--rc-brun2) !important; box-shadow: 0 6px 18px rgba(var(--bio-green-rgb, 168, 196, 0), .28); }
.bio-rc .bio-rc-btn--vert:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(var(--bio-green-rgb, 168, 196, 0), .34); color: var(--rc-brun2) !important; }
.bio-rc .bio-rc-btn--large { min-height: 56px; padding: 0 26px; font-size: 17px !important; }
.bio-rc .bio-rc-btn--pleine { width: 100%; }
.bio-rc .bio-rc-btn[disabled], .bio-rc .bio-rc-btn.is-attente { opacity: .7; cursor: progress; transform: none; }
.bio-rc .bio-rc-cta-prix { margin-left: 6px; padding-left: 12px; border-left: 2px solid rgba(55, 39, 38, .25); font-weight: 800; }
.bio-rc .bio-rc-plus { display: inline-grid; place-items: center; width: 38px !important; height: 38px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 1.5px solid var(--rc-bord) !important; border-radius: 50% !important; background: #fff !important; color: var(--rc-brun) !important; font-size: 22px !important; font-weight: 500 !important; line-height: 1 !important; cursor: pointer; transition: border-color .12s ease, background-color .12s ease; }
.bio-rc .bio-rc-plus:hover { border-color: var(--rc-brun) !important; background: var(--rc-teinte) !important; }
.bio-rc .bio-rc-plus.is-attente { opacity: .6; cursor: progress; }
.bio-rc .bio-rc-lien-rond { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; margin: 0; padding: 0 16px 0 12px; border: 1px solid var(--rc-bord) !important; border-radius: 999px !important; background: #fff !important; color: var(--rc-brun) !important; font-size: 14.5px !important; font-weight: 700 !important; cursor: pointer; text-decoration: none; }
.bio-rc .bio-rc-lien-rond:hover { border-color: var(--rc-brun) !important; }
.bio-rc .bio-rc-lien-rond .bio-rc-ic { width: 18px; height: 18px; }

/* ── Fil d'Ariane ── */
.bio-rc-fil { margin: 0 0 18px; font-size: 14px; color: var(--rc-gris); }
.bio-rc-chemin { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.bio-rc-chemin li { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.bio-rc-chemin li + li::before { content: '›'; opacity: .6; }
.bio-rc-chemin a { color: var(--rc-gris); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 42vw; }
.bio-rc-chemin a[aria-current] { color: var(--rc-brun); font-weight: 700; }
.bio-rc-chemin a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ── Scène : la photo du plat sur fond sable ── */
.bio-rc-hero { display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); gap: 40px; align-items: center; padding: 34px; border-radius: 36px; background: var(--rc-sable); }
.bio-rc-scene { display: grid; justify-items: center; min-width: 0; }
.bio-rc-socle { position: relative; width: 100%; max-width: 560px; }
.bio-rc-socle::before { content: ''; position: absolute; inset: 8% -3%; border-radius: 46% 54% 50% 50% / 55% 48% 52% 45%; background: var(--rc-teinte2); transform: rotate(-5deg); pointer-events: none; }
.bio-rc-assiette { position: relative; margin: 0; padding: 12px; aspect-ratio: 3 / 2; border-radius: 30px; background: #fff; box-shadow: 0 18px 40px rgba(66, 46, 45, .12); transform: rotate(-1.5deg); overflow: hidden; }
.bio-rc .bio-rc-photo { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 20px; }
.bio-rc-sans-photo { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 20px; background: var(--rc-creme); }
.bio-rc-sans-photo .bio-rc-ic { width: 96px; height: 96px; opacity: .7; }
.bio-rc-sticker { position: absolute; top: 18px; left: 18px; z-index: 2; display: inline-flex; align-items: center; height: 34px; padding: 0 13px; border-radius: 999px; background: var(--rc-vert); color: var(--rc-brun2); font-size: 15px; font-weight: 700; transform: rotate(-2deg); }
.bio-rc-infos { display: grid; gap: 16px; min-width: 0; }
.bio-rc-accroche { font-size: 18px; line-height: 1.45; color: var(--rc-gris2); font-weight: 500; text-wrap: pretty; }
.bio-rc-jetons { display: flex; flex-wrap: wrap; gap: 8px; }
.bio-rc-jetons li { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px 0 10px; border-radius: 999px; border: 1px solid var(--rc-bord); background: #fff; font-size: 14.5px; font-weight: 500; color: var(--rc-gris2); }
.bio-rc-jetons li strong { color: var(--rc-brun); font-weight: 700; }
.bio-rc-jetons .bio-rc-ic { width: 20px; height: 20px; }
.bio-rc-etiquettes { display: flex; flex-wrap: wrap; gap: 6px; }
.bio-rc-etiquettes li { display: inline-flex; align-items: center; height: 28px; padding: 0 11px; border-radius: 999px; background: var(--rc-teinte); color: var(--rc-brun); font-size: 13.5px; font-weight: 700; }
.bio-rc-cta { display: grid; gap: 8px; justify-items: start; }
.bio-rc-cta small { font-size: 14px; color: var(--rc-gris); }
.bio-rc-rupture { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px dashed var(--rc-sable-bord); font-size: 14.5px; color: var(--rc-gris2); }
.bio-rc-partage { display: flex; flex-wrap: wrap; gap: 8px; }

/* ── Corps : le fil à gauche, les courses à droite ── */
.bio-rc-corps { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; margin-top: 40px; }
.bio-rc-principal { display: grid; gap: 40px; min-width: 0; }
.bio-rc-mot { padding: 22px 24px; border-radius: 26px; background: var(--rc-beige); }
.bio-rc-mot p { font-size: 17px; line-height: 1.65; color: var(--rc-brun); text-wrap: pretty; }
.bio-rc-etapes .bio-rc-h2 { margin-bottom: 20px; }
.bio-rc-pas { display: grid; gap: 0; }
.bio-rc-pas li { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 16px; align-items: start; padding: 18px 0; }
.bio-rc-pas li + li { border-top: 1px dashed var(--rc-bord); }
.bio-rc-pas li:first-child { padding-top: 0; }
.bio-rc-num { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--rc-teinte); color: var(--rc-brun); font-size: 20px; font-weight: 800; transform: rotate(-4deg); }
.bio-rc-pas p { padding-top: 9px; font-size: 17px; line-height: 1.6; text-wrap: pretty; }
.bio-rc-notes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.bio-rc-note { display: flex; gap: 12px; padding: 18px; border-radius: 22px; background: #fff; border: 1px solid var(--rc-bord); }
.bio-rc-note h3 { margin-bottom: 4px; font-size: 15.5px !important; }
.bio-rc-note p { font-size: 15px; line-height: 1.55; color: var(--rc-gris2); }
.bio-rc-faq .bio-rc-h2 { margin-bottom: 16px; }
.bio-rc-question { margin-bottom: 8px; border-radius: 18px; border: 1px solid var(--rc-bord); background: #fff; }
.bio-rc-question summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 20px; font-size: 16px; font-weight: 700; cursor: pointer; list-style: none; }
.bio-rc-question summary::-webkit-details-marker { display: none; }
.bio-rc-plusmoins { position: relative; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: var(--rc-teinte); }
.bio-rc-plusmoins::before, .bio-rc-plusmoins::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2.5px; background: var(--rc-brun); transform: translate(-50%, -50%); transition: transform .18s ease; }
.bio-rc-plusmoins::after { transform: translate(-50%, -50%) rotate(90deg); }
.bio-rc-question[open] .bio-rc-plusmoins::after { transform: translate(-50%, -50%) rotate(0); }
.bio-rc-question p { padding: 0 20px 18px; font-size: 15.5px; line-height: 1.6; color: var(--rc-gris2); }

/* ── Les courses ── */
.bio-rc-courses--cote { position: sticky; top: 96px; }
.bio-rc-courses--mobile { display: none; }
.bio-rc-courses-carte { padding: 22px; border-radius: 28px; background: #fff; border: 1px solid var(--rc-bord); box-shadow: var(--rc-ombre); }
.bio-rc-liste { display: grid; gap: 6px; }
.bio-rc-ligne { display: grid; grid-template-columns: 48px minmax(0, 1fr) 38px; gap: 12px; align-items: center; padding: 8px 0; }
.bio-rc-ligne + .bio-rc-ligne { border-top: 1px solid var(--rc-creme); }
.bio-rc-ligne-img { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; background: var(--rc-creme); }
.bio-rc-ligne-img--vide { display: block; }
.bio-rc-ligne-texte { min-width: 0; }
.bio-rc-ligne-texte strong { display: block; font-size: 15px; line-height: 1.3; }
.bio-rc-ligne-texte strong em { font-style: normal; font-weight: 600; font-size: 12.5px; color: var(--rc-gris); }
.bio-rc-ligne-texte small { display: block; margin-top: 2px; font-size: 13.5px; line-height: 1.35; color: var(--rc-gris); }
.bio-rc-ligne-texte small a { color: var(--rc-gris); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--rc-bord); }
.bio-rc-ligne-texte small a:hover { color: var(--rc-brun); text-decoration-color: var(--rc-brun); }
.bio-rc-ligne-texte small b { color: var(--rc-brun); font-weight: 700; }
.bio-rc-ligne.is-rupture { opacity: .62; }
.bio-rc-ligne .bio-rc-manque { font-weight: 700; }
.bio-rc-dans-panier { display: inline-flex; align-items: center; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--rc-teinte); color: var(--rc-brun); font-size: 12px; font-weight: 700; }
.bio-rc-placard { margin-top: 12px; font-size: 14px; color: var(--rc-gris); }
.bio-rc-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0; padding: 14px 0; border-top: 1px dashed var(--rc-bord); border-bottom: 1px dashed var(--rc-bord); }
.bio-rc-total span { display: grid; font-size: 15px; font-weight: 700; }
.bio-rc-total small { font-size: 13px; font-weight: 500; color: var(--rc-gris); }
.bio-rc-total strong { font-size: 24px; font-weight: 800; }
.bio-rc-courses-note { margin-top: 12px; font-size: 13px; line-height: 1.45; color: var(--rc-gris); }
.bio-rc-retour { margin-top: 12px; padding: 10px 14px; border-radius: 14px; background: var(--rc-teinte); font-size: 14.5px; font-weight: 600; }
.bio-rc-retour a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.bio-rc-retour.is-erreur { background: var(--rc-beige); }

/* ── Barre du téléphone ── */
.bio-rc-barre { display: none; }

/* ── Cartes et grilles ── */
.bio-rc-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bio-rc-carte { display: flex; flex-direction: column; min-width: 0; border-radius: 24px; border: 1px solid var(--rc-bord); background: #fff; overflow: hidden; transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease; }
.bio-rc-carte:hover { transform: translateY(-2px); border-color: var(--rc-brun); box-shadow: var(--rc-ombre); }
.bio-rc-carte-photo { position: relative; display: block; aspect-ratio: 3 / 2; background: var(--rc-creme); overflow: hidden; }
.bio-rc-carte-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.bio-rc-carte:hover .bio-rc-carte-photo img { transform: scale(1.03); }
.bio-rc-carte-vide { display: grid; place-items: center; height: 100%; }
.bio-rc-carte-vide .bio-rc-ic { width: 56px; height: 56px; opacity: .6; }
.bio-rc-carte-type { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; height: 28px; padding: 0 11px; border-radius: 999px; background: #fff; color: var(--rc-brun); font-size: 13px; font-weight: 700; box-shadow: 0 2px 8px rgba(66, 46, 45, .12); }
.bio-rc-carte-corps { display: grid; gap: 10px; padding: 16px 18px 18px; }
.bio-rc-carte-titre { font-size: 18px !important; line-height: 1.25 !important; text-wrap: balance; }
.bio-rc-carte-titre a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--rc-vert); text-decoration-thickness: 2px; }
.bio-rc-carte-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13.5px; font-weight: 600; color: var(--rc-gris2); }
.bio-rc-carte-meta li { display: inline-flex; align-items: center; gap: 6px; }
.bio-rc-carte-meta .bio-rc-ic { width: 17px; height: 17px; }
.bio-rc-carte-manque { font-size: 13.5px; font-weight: 600; color: var(--rc-gris2); }
.bio-rc-carte-manque--ok::before { content: '✓ '; font-weight: 800; }
.bio-rc-accueil-tete { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.bio-rc-suite { margin-top: 56px; }

/* ── Accueil ── */
.bio-rc-accueil { max-width: 1200px; margin: 0 auto; padding: 8px 0 12px; }

/* ── Idées (panier, commande) ── */
.bio-rc-idees { margin: 32px 0 8px; padding: 22px; border-radius: 28px; background: var(--rc-beige); }
.bio-rc-idees-tete { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.bio-rc-idees-tete p { margin-top: 2px; font-size: 14.5px; color: var(--rc-gris2); }
.bio-rc-panier-idees { margin: 0 0 32px; padding: 22px; border-radius: 28px; background: var(--rc-beige); }
.bio-rc-demande { display: flex; align-items: center; gap: 14px 18px; flex-wrap: wrap; }
.bio-rc-demande .bio-rc-retour { flex: 1 1 100%; margin-top: 0; }
.bio-rc-idees--demande .bio-rc-grille { margin-top: 18px; }

/* ── Liste ── */
.bio-rc-entete { max-width: 780px; margin: 6px 0 26px; }
.bio-rc-chapo { margin-top: 14px; font-size: 18px; line-height: 1.5; color: var(--rc-gris2); text-wrap: pretty; }
.bio-rc-filtres { display: grid; gap: 10px; margin-bottom: 30px; }
.bio-rc-filtres-rang { display: flex; flex-wrap: wrap; gap: 8px; }
.bio-rc .bio-rc-puce { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 15px; border-radius: 999px; border: 1px solid var(--rc-bord); background: #fff; color: var(--rc-brun); font-size: 14.5px; font-weight: 700; white-space: nowrap; }
.bio-rc .bio-rc-puce:hover { border-color: var(--rc-brun); }
.bio-rc .bio-rc-puce.is-active { background: var(--rc-vert); border-color: var(--rc-vert); color: var(--rc-brun2); }
.bio-rc .bio-rc-puce--regime { min-height: 34px; padding: 0 12px; font-size: 13.5px; background: var(--rc-creme); }
.bio-rc-puce-n { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--rc-teinte); font-size: 12px; font-weight: 800; }
.bio-rc .bio-rc-puce.is-active .bio-rc-puce-n { background: rgba(55, 39, 38, .14); }
.bio-rc-moment { margin-bottom: 44px; }
.bio-rc-pages { margin-top: 36px; }
.bio-rc-pages ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; }
.bio-rc-pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--rc-bord); background: #fff; color: var(--rc-brun); font-weight: 700; text-decoration: none; }
.bio-rc-pages .page-numbers.current { background: var(--rc-vert); border-color: var(--rc-vert); color: var(--rc-brun2); }
.bio-rc-pages .page-numbers.dots { border: 0; background: transparent; }
.bio-rc-vide { display: grid; justify-items: center; gap: 12px; max-width: 560px; margin: 20px auto; padding: 40px 28px; border-radius: 28px; background: var(--rc-beige); text-align: center; }
.bio-rc-vide p { font-size: 16px; color: var(--rc-gris2); }

/* ── Tailles d'écran ── */
@media (max-width: 1023px) {
	.bio-rc-corps { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.bio-rc-courses--cote { display: none; }
	.bio-rc-courses--mobile { display: block; }
	/* La barre d'achat se pose AU-DESSUS de la barre de navigation du site (nav.bio-app-nav, toujours visible).
	   Sa hauteur RÉELLE est mesurée au chargement (--bio-bottom-bar-h : 62 px, plus la zone sûre des iPhone
	   et des Android à barre de gestes). Les 54 px écrits en dur ici chevauchaient la barre de 34 px sur
	   iPhone, et de 8 px depuis son agrandissement du 23/09/2026. */
	.bio-rc-fiche { padding-bottom: calc(90px + var(--bio-bottom-bar-h, 62px)); }
	.bio-rc-barre { position: fixed; left: 0; right: 0; bottom: var(--bio-bottom-bar-h, 62px); z-index: 9997; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 16px; background: #fff; border-top: 1px solid var(--rc-bord); box-shadow: 0 -6px 20px rgba(66, 46, 45, .08); font-family: 'Quicksand', system-ui, sans-serif; color: var(--rc-brun); }
	.bio-rc-barre > div { display: grid; line-height: 1.15; }
	.bio-rc-barre strong { font-size: 20px; font-weight: 800; }
	.bio-rc-barre small { font-size: 12.5px; color: var(--rc-gris); }
	.bio-rc-barre .bio-rc-btn { min-height: 46px; padding: 0 18px; font-size: 15px !important; }
}
@media (max-width: 899px) {
	.bio-rc-hero { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 22px 18px 24px; border-radius: 28px; }
	.bio-rc-socle { width: 88%; }
	.bio-rc-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.bio-rc-filtres-rang { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.bio-rc-filtres-rang::-webkit-scrollbar { display: none; }
	.bio-rc-notes { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 559px) {
	.bio-rc-page { padding: 0 16px; margin-top: 4px; }
	.bio-rc-grille { grid-template-columns: minmax(0, 1fr); }
	.bio-rc-socle { width: 92%; }
	.bio-rc-accroche { font-size: 17px; }
	.bio-rc-jetons li { min-height: 34px; font-size: 13.5px; }
	.bio-rc-pas li { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; }
	.bio-rc-num { width: 38px; height: 38px; font-size: 17px; }
	.bio-rc-pas p { padding-top: 6px; font-size: 16px; }
	.bio-rc-mot { padding: 18px; }
	.bio-rc-courses-carte { padding: 18px; }
	.bio-rc .bio-rc-btn--large { width: 100%; }
	.bio-rc-chemin a { max-width: 36vw; }
}
@media (prefers-reduced-motion: reduce) {
	.bio-rc *, .bio-rc *::before, .bio-rc *::after { transition: none !important; }
	.bio-rc-carte:hover .bio-rc-carte-photo img { transform: none; }
}

/* ── Impression : la recette et ses courses, rien d'autre ── */
@media print {
	body.bio-recettes header, body.bio-recettes footer, body.bio-recettes #wpadminbar, body.bio-recettes .bio-appnav,
	.bio-rc-fil, .bio-rc-partage, .bio-rc-barre, .bio-rc-suite, .bio-rc-plus, .bio-rc .bio-rc-btn, .bio-rc-panier-idees, .bio-rc-cta, .bio-rc-courses-note, .bio-rc-retour { display: none !important; }
	.bio-rc-page { max-width: none; margin: 0; padding: 0; }
	.bio-rc-hero { padding: 0; background: none; grid-template-columns: 1fr 1.4fr; gap: 20px; }
	.bio-rc-assiette { transform: none; box-shadow: none; padding: 0; }
	.bio-rc-socle::before { display: none; }
	.bio-rc-corps { display: block; }
	.bio-rc-courses--mobile { display: block; page-break-inside: avoid; }
	.bio-rc-courses-carte { box-shadow: none; }
	.bio-rc-question { break-inside: avoid; }
	.bio-rc-question p { display: block; }
}

/* ── Panier : le bloc recette, sobre (23/09/2026) ──
   Retour du gérant : « après le bouton commander, c'est anecdotique », « sobre, un bouton visuel ». Il passe après le
   récapitulatif (modules/recettes.php, woocommerce_after_cart) et quitte le grand fond beige et le bouton vert à ombre,
   qui faisaient concurrence à « Valider la commande ». Page de confirmation de commande inchangée. */
.woocommerce-cart .bio-rc-idees { margin: 24px 0 8px; padding: 16px; border: 1px solid var(--rc-bord); border-radius: 20px; background: #fff; }
.woocommerce-cart .bio-rc-idees .bio-rc-idees-tete { align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.woocommerce-cart .bio-rc-idees .bio-rc-tuile { width: 38px; height: 38px; padding: 7px; border-radius: 12px; border-color: transparent; background: var(--rc-teinte); }
.woocommerce-cart .bio-rc-idees .bio-rc-h3 { font-size: 16.5px !important; }
.woocommerce-cart .bio-rc-idees .bio-rc-idees-tete p { margin-top: 2px; font-size: 14px; line-height: 1.45; }
.woocommerce-cart .bio-rc-idees .bio-rc-demande { gap: 10px 16px; }
.woocommerce-cart .bio-rc .bio-rc-btn--vert {
    min-height: 44px;
    padding: 0 18px 0 14px;
    border: 1.5px solid rgba(var(--bio-green-rgb, 168, 196, 0), .5) !important;
    background: var(--rc-teinte) !important;
    color: var(--rc-brun2) !important;
    box-shadow: none;
    font-size: 15px !important;
}
.woocommerce-cart .bio-rc .bio-rc-btn--vert:hover { transform: none; box-shadow: none; background: rgba(var(--bio-green-rgb, 168, 196, 0), .28) !important; }
.woocommerce-cart .bio-rc-idees .bio-rc-lien { font-size: 14px; font-weight: 600; color: var(--rc-gris2); text-decoration: none; }
/* L'attribut hidden masque vraiment. .bio-rc-btn (inline-flex) et .bio-rc-grille (grid) l'écrasaient ; mesuré le 23/09/2026 :
   la grille vide laissait 18 px blancs sous le bloc du panier, et « Demander une recette au chef » restait affiché après
   l'envoi, sous « Le chef est en cuisine », alors que le script le cache. */
.bio-rc [hidden] { display: none !important; }
/* Petits téléphones : le bouton tient sur une ligne (il passait sur deux lignes sous 375 px). */
@media (max-width: 380px) {
	.woocommerce-cart .bio-rc .bio-rc-btn--vert { width: 100%; gap: 8px; padding: 0 12px; font-size: 14px !important; }
}
@media (max-width: 340px) {
	.woocommerce-cart .bio-rc .bio-rc-btn--vert .bio-rc-ic--btn { display: none; }
}
