/**
 * Blocs de contenu ajoutés par la Phase 16 ter B : formulaire de contact, calendrier lunaire du mois et sa colonne de
 * vente (sélection du jour, prochain jour Fruit), texte de
 * référencement sous les archives, mention de conservation, bloc événement, page « Renoncer au contrat ». Jetons de la charte v2 uniquement.
 * Chargé à la demande (Contenus\Style::charger).
 */

/* ---------------------------------------------------------------- formulaire de contact */
.cbb-contact { max-width: 720px; margin: var(--cbb-esp-6, 32px) 0; padding: var(--cbb-esp-6, 32px); background: var(--cbb-blanc, #fff); border: 1px solid var(--cbb-trait, #d8d2c4); border-radius: var(--cbb-rayon-lg, 12px); font-family: var(--cbb-police-texte, system-ui, sans-serif); color: var(--cbb-texte, #2b2f2c); }
.cbb-contact__titre { margin: 0 0 6px; font-family: var(--cbb-police-titre, Georgia, serif); font-size: 26px; font-weight: 400; line-height: 1.2; color: var(--cbb-encre, #1b2522); }
.cbb-contact__intro { margin: 0 0 var(--cbb-esp-5, 20px); color: var(--cbb-texte-doux, #5a615c); }
.cbb-contact__form { display: flex; flex-direction: column; gap: var(--cbb-esp-4, 16px); }
.cbb-contact__duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cbb-esp-4, 16px); }
.cbb-contact__champ { display: flex; flex-direction: column; gap: 6px; }
.cbb-contact__champ label { font-size: var(--cbb-fs-petit, 13.5px); font-weight: 600; color: var(--cbb-encre, #1b2522); }
.cbb-contact__champ input[type="text"], .cbb-contact__champ input[type="email"], .cbb-contact__champ select, .cbb-contact__champ textarea {
	width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--cbb-trait, #d8d2c4); border-radius: var(--cbb-rayon, 8px); background: var(--cbb-blanc, #fff);
	font: 400 15px/1.4 var(--cbb-police-texte, system-ui, sans-serif); color: var(--cbb-encre, #1b2522); box-sizing: border-box;
}
.cbb-contact__champ textarea { padding: 12px 14px; min-height: 140px; resize: vertical; }
.cbb-contact__champ input:focus, .cbb-contact__champ select:focus, .cbb-contact__champ textarea:focus { outline: 2px solid var(--cbb-sauge, #8fa98a); outline-offset: 1px; }
.cbb-contact__champ--erreur input, .cbb-contact__champ--erreur select, .cbb-contact__champ--erreur textarea { border-color: var(--cbb-bordeaux, #8a2b3a); }
.cbb-contact__erreur { font-size: var(--cbb-fs-petit, 13.5px); color: var(--cbb-bordeaux, #8a2b3a); }
.cbb-contact__case { display: flex; align-items: flex-start; gap: 10px; font-weight: 400 !important; line-height: 1.45; cursor: pointer; }
.cbb-contact__case input { width: 20px; height: 20px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--cbb-vert, #294c45); }
.cbb-contact__case a { color: var(--cbb-vert, #294c45); }
.cbb-contact__piege { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.cbb-contact__actions { display: flex; }
.cbb-contact__etat { margin: 0 0 var(--cbb-esp-4, 16px); padding: 12px 14px; border-radius: var(--cbb-rayon, 8px); font-size: var(--cbb-fs-texte, 15px); }
.cbb-contact__etat--ok { background: var(--cbb-sauge-pale, #e6eee3); color: var(--cbb-vert-fonce, #1f3b35); border: 1px solid var(--cbb-sauge, #8fa98a); }
.cbb-contact__etat--erreur { background: var(--cbb-bordeaux-pale, #f6e7e9); color: var(--cbb-bordeaux-fonce, #6d1f2c); border: 1px solid var(--cbb-bordeaux, #8a2b3a); }
.cbb-contact__etat-zone:empty { display: none; }
@media (max-width: 767px) {
	.cbb-contact { padding: var(--cbb-esp-5, 20px); margin: var(--cbb-esp-5, 20px) 0; border-radius: var(--cbb-rayon, 8px); }
	.cbb-contact__duo { grid-template-columns: 1fr; }
	.cbb-contact__actions .cbb-btn { width: 100%; }
}

/* ---------------------------------------------------------------- rétractation en ligne (page « Renoncer au contrat ») */
.cbb-renoncer { max-width: 720px; margin: var(--cbb-esp-6, 32px) 0; padding: var(--cbb-esp-6, 32px); background: var(--cbb-blanc, #fff); border: 1px solid var(--cbb-trait, #e4ddcf); border-radius: var(--cbb-rayon-lg, 12px); font-family: var(--cbb-police-texte, system-ui, sans-serif); color: var(--cbb-texte, #46524e); }
.cbb-renoncer__etape { margin: 0 0 4px; font-size: var(--cbb-fs-mini, 12px); font-weight: var(--cbb-fw-gras, 700); letter-spacing: .08em; text-transform: uppercase; color: var(--cbb-texte-doux, #5f6a66); }
.cbb-renoncer__titre { margin: 0 0 var(--cbb-esp-3, 12px); font-family: var(--cbb-police-titre, Georgia, serif); font-size: var(--cbb-ft-bloc, 22px); font-weight: 400; line-height: 1.25; color: var(--cbb-encre, #1b2522); }
.cbb-renoncer__intro { margin: 0 0 var(--cbb-esp-4, 16px); }
.cbb-renoncer__form { display: flex; flex-direction: column; gap: var(--cbb-esp-4, 16px); }
.cbb-renoncer__duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cbb-esp-4, 16px); }
.cbb-renoncer__champ { display: flex; flex-direction: column; gap: 6px; }
.cbb-renoncer__champ label, .cbb-renoncer__legende { font-size: var(--cbb-fs-petit, 13.5px); font-weight: var(--cbb-fw-demi, 600); color: var(--cbb-encre, #1b2522); }
.cbb-renoncer__aide, .cbb-renoncer__doux { font-size: var(--cbb-fs-petit, 13.5px); color: var(--cbb-texte-doux, #5f6a66); }
.cbb-renoncer__champ input[type="text"], .cbb-renoncer__champ input[type="email"], .cbb-renoncer__champ textarea, .cbb-renoncer__qte input {
	width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--cbb-trait, #e4ddcf); border-radius: var(--cbb-rayon, 6px); background: var(--cbb-blanc, #fff);
	font: 400 15px/1.4 var(--cbb-police-texte, system-ui, sans-serif); color: var(--cbb-encre, #1b2522); box-sizing: border-box;
}
.cbb-renoncer__champ textarea { padding: 12px 14px; min-height: 96px; resize: vertical; }
.cbb-renoncer__champ input:focus, .cbb-renoncer__champ textarea:focus, .cbb-renoncer__qte input:focus { outline: 2px solid var(--cbb-sauge, #7f9a80); outline-offset: 1px; }
.cbb-renoncer__champ--erreur input, .cbb-renoncer__champ--erreur textarea { border-color: var(--cbb-bordeaux, #721f31); }
.cbb-renoncer__erreur { font-size: var(--cbb-fs-petit, 13.5px); color: var(--cbb-bordeaux, #721f31); }
.cbb-renoncer__liste { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: var(--cbb-esp-2, 8px); }
.cbb-renoncer__legende { margin: 0 0 var(--cbb-esp-2, 8px); padding: 0; }
.cbb-renoncer__produit, .cbb-renoncer__option { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cbb-esp-3, 12px); padding: var(--cbb-esp-3, 12px); border: 1px solid var(--cbb-trait-doux, #ece6da); border-radius: var(--cbb-rayon, 6px); }
.cbb-renoncer__option { justify-content: flex-start; cursor: pointer; }
.cbb-renoncer__case { display: flex; align-items: flex-start; gap: 10px; line-height: 1.45; cursor: pointer; flex: 1 1 260px; }
.cbb-renoncer__case input, .cbb-renoncer__option input { width: 20px; height: 20px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--cbb-vert, #294c45); }
.cbb-renoncer__qte { display: flex; align-items: center; gap: var(--cbb-esp-2, 8px); font-size: var(--cbb-fs-petit, 13.5px); }
.cbb-renoncer__qte input { width: 72px; min-height: 44px; padding: 0 8px; }
.cbb-renoncer__note { margin: 0; padding: 12px 14px; border-radius: var(--cbb-rayon, 6px); background: var(--cbb-sauge-brume, #f1f4ee); }
.cbb-renoncer__recap { display: grid; grid-template-columns: max-content 1fr; gap: var(--cbb-esp-2, 8px) var(--cbb-esp-4, 16px); margin: 0 0 var(--cbb-esp-4, 16px); }
.cbb-renoncer__recap dt { font-weight: var(--cbb-fw-demi, 600); color: var(--cbb-encre, #1b2522); }
.cbb-renoncer__recap dd { margin: 0; }
.cbb-renoncer__recap ul { margin: 0; padding-left: 1.1em; }
.cbb-renoncer__texte { margin: 0 0 var(--cbb-esp-4, 16px); padding: var(--cbb-esp-4, 16px); border: 1px solid var(--cbb-trait, #e4ddcf); border-radius: var(--cbb-rayon, 6px); background: var(--cbb-creme, #faf7f1); font-size: var(--cbb-fs-petit, 13.5px); }
.cbb-renoncer__texte p { margin: 0; }
.cbb-renoncer__texte .cbb-renoncer__legende { margin-bottom: var(--cbb-esp-2, 8px); }
.cbb-renoncer__actions { display: flex; flex-wrap: wrap; gap: var(--cbb-esp-3, 12px); }
.cbb-renoncer__actions--deux .cbb-renoncer__form { display: block; }
.cbb-renoncer__autre { margin-top: var(--cbb-esp-6, 32px); padding-top: var(--cbb-esp-5, 24px); border-top: 1px solid var(--cbb-trait-doux, #ece6da); }
.cbb-renoncer__etat { margin: 0 0 var(--cbb-esp-4, 16px); padding: 12px 14px; border-radius: var(--cbb-rayon, 6px); font-size: var(--cbb-fs-texte, 15px); }
.cbb-renoncer__etat--ok { background: var(--cbb-sauge-pale, #e6ede3); color: var(--cbb-vert-fonce, #1f3b35); border: 1px solid var(--cbb-sauge, #7f9a80); }
.cbb-renoncer__etat--erreur { background: var(--cbb-bordeaux-pale, #f6e9e8); color: var(--cbb-bordeaux-fonce, #5a1826); border: 1px solid var(--cbb-bordeaux, #721f31); }
.cbb-renoncer a, .cbb-renoncer-lien { color: var(--cbb-vert, #294c45); }
@media (max-width: 767px) {
	.cbb-renoncer { padding: var(--cbb-esp-5, 20px); margin: var(--cbb-esp-5, 20px) 0; border-radius: var(--cbb-rayon, 6px); }
	.cbb-renoncer__duo, .cbb-renoncer__recap { grid-template-columns: 1fr; }
	.cbb-renoncer__recap dd { margin-bottom: var(--cbb-esp-2, 8px); }
	.cbb-renoncer__actions .cbb-btn, .cbb-renoncer__actions--deux .cbb-renoncer__form { width: 100%; }
}

/* ---------------------------------------------------------------- calendrier lunaire du mois */
.cbb-calendrier { margin: var(--cbb-esp-5, 24px) 0; padding: 0 6px; font-family: var(--cbb-police-texte, system-ui, sans-serif); color: var(--cbb-texte, #2b2f2c); }
.cbb-calendrier__navigation { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.cbb-calendrier__mois { margin: 0; font-family: var(--cbb-police-titre, Georgia, serif); font-size: 24px; font-weight: 400; text-transform: capitalize; color: var(--cbb-encre, #1b2522); }
.cbb-calendrier__lien { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--cbb-trait, #d8d2c4); border-radius: 999px; background: var(--cbb-blanc, #fff); color: var(--cbb-vert, #294c45); font-size: var(--cbb-fs-petit, 13.5px); font-weight: 600; text-decoration: none; }
.cbb-calendrier__lien:hover { border-color: var(--cbb-vert, #294c45); }
.cbb-calendrier__lien--absent { visibility: hidden; }
.cbb-calendrier .cbb-calendrier__table { display: table; width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 6px; margin: 0 0 0 -6px; width: calc(100% + 12px); max-width: none; }
.cbb-calendrier__entete { text-align: center; font-size: var(--cbb-fs-mini, 12px); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--cbb-texte-doux, #5a615c); padding: 4px 0; }
.cbb-calendrier__jour { position: relative; height: 76px; padding: 8px; vertical-align: top; text-align: left; border: 1px solid var(--cbb-trait, #d8d2c4); border-radius: var(--cbb-rayon, 8px); background: var(--cbb-blanc, #fff); }
.cbb-calendrier__jour--vide { border: 0; background: transparent; }
.cbb-calendrier__numero, .cbb-calendrier__type { display: block; }
.cbb-calendrier__numero { font-size: 15px; font-weight: 700; color: var(--cbb-encre, #1b2522); }
.cbb-calendrier__type { font-size: var(--cbb-fs-mini, 12px); font-weight: 600; }
.cbb-calendrier__jour--fruit { background: #f9dcc8; border-color: #e3a882; }
.cbb-calendrier__jour--fleur { background: #f3d3e2; border-color: #d797b6; }
.cbb-calendrier__jour--feuille { background: #d4e5cd; border-color: #93b788; }
.cbb-calendrier__jour--racine { background: #e6d6c0; border-color: #b99a72; }
.cbb-calendrier__jour--fruit .cbb-calendrier__type { color: #964722; } .cbb-calendrier__jour--fleur .cbb-calendrier__type { color: #9a3f6c; }
.cbb-calendrier__jour--feuille .cbb-calendrier__type { color: #3f6b35; } .cbb-calendrier__jour--racine .cbb-calendrier__type { color: #6b4e2b; }
.cbb-calendrier__jour--aujourdhui { outline: 2px solid var(--cbb-vert, #294c45); outline-offset: 1px; }
.cbb-calendrier__jour--perigee::after { content: ""; position: absolute; top: 7px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--cbb-ocre-vif, #c98a2b); }
.cbb-calendrier__legende { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 0; padding: 0; list-style: none; font-size: var(--cbb-fs-petit, 13.5px); color: var(--cbb-texte-doux, #5a615c); }
.cbb-calendrier__legende li { display: inline-flex; align-items: center; gap: 6px; }
.cbb-calendrier__pastille { width: 14px; height: 14px; border-radius: 4px; border: 1px solid var(--cbb-trait, #d8d2c4); }
.cbb-calendrier__pastille--fruit { background: #f9dcc8; border-color: #e3a882; } .cbb-calendrier__pastille--fleur { background: #f3d3e2; border-color: #d797b6; }
.cbb-calendrier__pastille--perigee { border-radius: 50%; background: var(--cbb-ocre-vif, #c98a2b); }
/* Une icône au trait par type de jour (fruit, fleur, feuille, racine) : dans la case, en haut à droite, et dans la légende. */
.cbb-calendrier__icone { position: absolute; top: 6px; right: 6px; }
.cbb-calendrier__jour--fruit .cbb-calendrier__icone, .cbb-calendrier__pastille--fruit .cbb-calendrier__pastille-icone { color: #964722; } .cbb-calendrier__jour--fleur .cbb-calendrier__icone, .cbb-calendrier__pastille--fleur .cbb-calendrier__pastille-icone { color: #9a3f6c; }
.cbb-calendrier__jour--feuille .cbb-calendrier__icone, .cbb-calendrier__pastille--feuille .cbb-calendrier__pastille-icone { color: #3f6b35; } .cbb-calendrier__jour--racine .cbb-calendrier__icone, .cbb-calendrier__pastille--racine .cbb-calendrier__pastille-icone { color: #6b4e2b; }
.cbb-calendrier__pastille--fruit, .cbb-calendrier__pastille--fleur, .cbb-calendrier__pastille--feuille, .cbb-calendrier__pastille--racine { width: 24px; height: 24px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.cbb-calendrier__jour--perigee::after { right: 34px; }
.cbb-calendrier__pastille--feuille { background: #d4e5cd; border-color: #93b788; } .cbb-calendrier__pastille--racine { background: #e6d6c0; border-color: #b99a72; }
@media (max-width: 767px) {
	.cbb-calendrier { padding: 0 3px; }
	.cbb-calendrier .cbb-calendrier__table { border-spacing: 3px; margin: 0 0 0 -3px; width: calc(100% + 6px); }
	.cbb-calendrier__jour { height: 58px; padding: 5px 2px 5px 4px; }
	.cbb-calendrier__numero { font-size: 13px; }
	.cbb-calendrier__icone { width: 15px; height: 15px; top: 4px; right: 3px; }
	.cbb-calendrier__jour--perigee::after { right: 21px; top: 6px; }
	.cbb-calendrier__type { font-size: 9.5px; letter-spacing: -.01em; word-break: normal; overflow-wrap: normal; }
	.cbb-calendrier__mois { font-size: 20px; }
	.cbb-calendrier__navigation { flex-wrap: wrap; }
	.cbb-calendrier__mois { order: -1; width: 100%; text-align: center; }
	.cbb-calendrier__lien { flex: 1 1 0; justify-content: center; padding: 0 10px; white-space: nowrap; }
	.cbb-calendrier__lien--absent { display: block; }
}

/* ---------------------------------------------------------------- calendrier lunaire : colonne de vente (Fiche\LunaireVente)
 * À droite du calendrier (dessous quand la place manque : flex-wrap, donc aussi dans un article étroit). Mise en scène de
 * l'encart lunaire des fiches (fond vert profond, titre en police de titre) ; cartes produit du catalogue en version
 * couchée (photo à gauche). Règles préfixées par .cbb-lune-vente : elles l'emportent sur celles de .cbb-prose. */
.cbb-prose > .cbb-calendrier-vente { max-width: none; }
.cbb-calendrier-vente { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--cbb-esp-6, 32px) 40px; margin: var(--cbb-esp-5, 24px) 0; }
.cbb-calendrier-vente > .cbb-calendrier { flex: 1 1 560px; min-width: 0; max-width: 820px; margin: 0; }
.cbb-lune-vente { flex: 0 0 400px; min-width: 0; max-width: 100%; display: flex; flex-direction: column; gap: 16px; font-family: var(--cbb-police-texte, system-ui, sans-serif); color: var(--cbb-texte, #2b2f2c); }
.cbb-lune-vente .cbb-lune-vente__bloc { border-radius: var(--cbb-rayon-lg, 12px); }
.cbb-lune-vente .cbb-lune-vente__selection { display: flex; flex-direction: column; gap: 14px; padding: 22px 20px 20px; background: var(--cbb-vert-fonce, #1f3b35); color: var(--cbb-blanc, #fff); scroll-margin-top: 90px; }
.cbb-lune-vente .cbb-lune-vente__tete { display: flex; align-items: center; gap: 12px; }
.cbb-lune-vente .cbb-lune-vente__rond { display: flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: rgba(250, 247, 241, .12); color: #f1e7c8; }
.cbb-lune-vente .cbb-lune-vente__titres { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cbb-lune-vente .cbb-lune-vente__titre { margin: 0; font-family: var(--cbb-police-titre, Georgia, serif); font-size: 21px; font-weight: 400; line-height: 1.2; color: var(--cbb-blanc, #fff); }
.cbb-lune-vente .cbb-lune-vente__sous-titre { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; line-height: 1.35; color: #c9d8c6; }
.cbb-lune-vente .cbb-lune-vente__sous-titre .cbb-calendrier__pastille { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 3px; border: 0; }
.cbb-lune-vente .cbb-lune-vente__accroche { margin: 0; font-size: 15px; line-height: 1.55; color: #e3ebe1; }
.cbb-lune-vente .cbb-lune-vente__perigee { display: flex; align-items: baseline; gap: 8px; margin: -4px 0 0; font-size: 12.5px; line-height: 1.45; color: #c9d8c6; }
.cbb-lune-vente .cbb-lune-vente__perigee::before { content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--cbb-ocre-vif, #c98a2b); transform: translateY(-1px); }
.cbb-lune-vente .cbb-lune-vente__cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
/* Carte du catalogue couchée : photo à gauche, pied (prix, quantité, « Ajouter ») sous le texte. */
.cbb-lune-vente .cbb-carte-produit { display: grid; grid-template-columns: 84px minmax(0, 1fr); border: 0; box-shadow: none; }
.cbb-lune-vente .cbb-carte-produit__scene { aspect-ratio: auto; height: 100%; min-height: 132px; }
.cbb-lune-vente .cbb-carte-produit__scene img { position: absolute; inset: 8px 4px; width: calc(100% - 8px); height: calc(100% - 16px); }
.cbb-lune-vente .cbb-carte-produit__pastilles { display: none; }
.cbb-lune-vente .cbb-carte-produit__corps { gap: 4px; padding: 11px 12px 12px; }
.cbb-lune-vente .cbb-carte-produit__producteur { font-size: 11px; }
.cbb-lune-vente .cbb-carte-produit__titre { font-size: 15.5px; line-height: 1.25; }
.cbb-lune-vente .cbb-carte-produit__meta { font-size: 12.5px; }
.cbb-lune-vente .cbb-carte-produit__pied { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; row-gap: 8px; margin-top: 6px; padding-top: 8px; }
.cbb-lune-vente .cbb-carte-produit__pied .cbb-prix { align-items: flex-start; margin-right: auto; text-align: left; }
.cbb-lune-vente .cbb-lune-vente__lien { align-self: flex-start; display: inline-flex; align-items: center; min-height: 40px; font-size: var(--cbb-fs-petit, 13.5px); font-weight: 600; color: var(--cbb-vert, #294c45); text-decoration: underline; text-underline-offset: 3px; }
.cbb-lune-vente .cbb-lune-vente__selection .cbb-lune-vente__lien { min-height: 32px; color: #f1e7c8; }
.cbb-lune-vente .cbb-lune-vente__fruit { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px 16px; background: var(--cbb-blanc, #fff); border: 1px solid var(--cbb-trait, #d8d2c4); }
.cbb-lune-vente .cbb-lune-vente__titre-fruit { margin: 0; font-family: var(--cbb-police-texte, system-ui, sans-serif); font-size: var(--cbb-fs-mini, 12px); font-weight: 700; line-height: 1.3; letter-spacing: .07em; text-transform: uppercase; color: var(--cbb-vert, #294c45); }
.cbb-lune-vente .cbb-lune-vente__quand { display: flex; align-items: center; gap: 14px; }
.cbb-lune-vente .cbb-lune-vente__case { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; flex: 0 0 58px; width: 58px; height: 62px; border: 1px solid var(--cbb-ocre-trait, #d8b56b); border-radius: var(--cbb-rayon, 8px); background: var(--cbb-ocre-pale, #f8efd9); color: var(--cbb-encre, #1b2522); }
.cbb-lune-vente .cbb-lune-vente__case-num { font-family: var(--cbb-police-titre, Georgia, serif); font-size: 26px; line-height: 1; }
.cbb-lune-vente .cbb-lune-vente__case-mois { font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: .06em; text-transform: uppercase; color: var(--cbb-texte-doux, #5a615c); }
.cbb-lune-vente .cbb-lune-vente__date { display: flex; flex-direction: column; gap: 3px; margin: 0; font-family: var(--cbb-police-titre, Georgia, serif); font-size: 20px; line-height: 1.2; color: var(--cbb-encre, #1b2522); }
.cbb-lune-vente .cbb-lune-vente__conseil { font-family: var(--cbb-police-texte, system-ui, sans-serif); font-size: var(--cbb-fs-petit, 13.5px); line-height: 1.4; color: var(--cbb-texte-doux, #5a615c); }
.cbb-lune-vente .cbb-lune-vente__urgence { margin: 0; padding: 10px 12px; border-radius: var(--cbb-rayon, 8px); background: var(--cbb-sauge-pale, #e6eee3); font-size: 14px; line-height: 1.5; color: var(--cbb-texte, #2b2f2c); }
.cbb-lune-vente .cbb-lune-vente__urgence strong { color: var(--cbb-vert-fonce, #1f3b35); }
@media (max-width: 1023px) {
	.cbb-lune-vente { flex: 1 1 100%; }
}
@media (max-width: 767px) {
	.cbb-calendrier-vente { gap: var(--cbb-esp-5, 24px); }
	.cbb-lune-vente .cbb-lune-vente__selection { padding: 20px 16px 16px; }
	.cbb-lune-vente .cbb-lune-vente__titre { font-size: 19px; }
	.cbb-lune-vente .cbb-lune-vente__fruit { padding: 16px; }
}

/* ---------------------------------------------------------------- texte de référencement sous les archives */
.cbb-archive-bas { max-width: 860px; margin: var(--cbb-esp-7, 48px) auto 0; font-size: var(--cbb-fs-base, 16px); line-height: 1.65; color: var(--cbb-texte, #2b2f2c); }
.cbb-archive-bas h2, .cbb-archive-bas h3 { font-family: var(--cbb-police-titre, Georgia, serif); font-weight: 400; color: var(--cbb-encre, #1b2522); }
/* Fiches conseil (Contenus\Fiches, proposition C du 04/10/2026, docs/maquettes/texte-bas/propositions.html) : en-tête centré,
   une carte par intertitre, la première dans le vert sauge de l'encadré « L'essentiel ». « div. » : passe devant la classe
   Oxygen de l'emplacement (.cbb-producteur-bas-emplacement .cbb-producteur-bas, 860 px). */
div.cbb-archive-bas.cbb-fiches { max-width: 1080px; margin: 80px auto 0; font-size: 15.5px; line-height: 1.7; }
.cbb-univers-seo + .cbb-producteur-bas-emplacement div.cbb-fiches { margin-top: 0; }
/* Pages d'univers et familles de spiritueux : les fiches sont le dernier bloc avant le pied de page (bande de réassurance) ;
   même respiration dessous que sous le texte du bas (.cbb-univers-seo : 96 px, 44 px sur téléphone). */
.cbb-univers-bas .cbb-producteur-bas-emplacement div.cbb-fiches { margin-bottom: 96px; }
.cbb-fiches p { margin: 0 0 14px; }
.cbb-fiches ul, .cbb-fiches ol { margin: 0 0 14px; padding-left: 20px; }
.cbb-fiches li { margin: 4px 0; }
.cbb-fiches li::marker { color: var(--cbb-vert, #294c45); }
.cbb-fiches strong { font-weight: 600; color: var(--cbb-encre, #1b2522); }
.cbb-fiches a { color: var(--cbb-vert, #294c45); text-decoration: underline; text-underline-offset: 3px; }
.cbb-fiches__tete { max-width: 760px; margin: 0 auto 32px; text-align: center; }
.cbb-fiches__etiquette { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 0 0 10px; font-size: var(--cbb-fs-mini, 12px); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--cbb-vert, #294c45); }
.cbb-fiches__etiquette::before, .cbb-fiches__etiquette::after { content: ""; flex: 0 0 36px; height: 1px; background: var(--cbb-sauge-clair, #b9ccb4); }
.cbb-archive-bas .cbb-fiches__titre { margin: 0 0 14px; font-size: 38px; line-height: 1.12; }
.cbb-fiches__chapeau { font-size: 17.5px; line-height: 1.65; color: var(--cbb-encre, #1b2522); }
.cbb-fiches__chapeau > :last-child { margin-bottom: 0; }
.cbb-fiches__grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cbb-fiches__grille > :last-child:nth-child(even) { grid-column: 1 / -1; } /* carte seule sur sa ligne : toute la largeur */
.cbb-fiches__fiche { box-sizing: border-box; padding: 26px 28px 14px; border: 1px solid var(--cbb-trait, #d8d2c4); border-radius: var(--cbb-rayon-lg, 12px); background: var(--cbb-blanc, #fff); }
.cbb-fiches__fiche:focus { outline: 2px solid var(--cbb-vert, #294c45); outline-offset: 2px; }
.cbb-fiches__fiche--large { grid-column: 1 / -1; border-color: transparent; border-left: 4px solid var(--cbb-vert, #294c45); background: var(--cbb-sauge-pale, #e6eee3); }
.cbb-fiches__icone { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 14px; border-radius: 50%; background: var(--cbb-sauge-pale, #e6eee3); color: var(--cbb-vert, #294c45); }
.cbb-fiches__fiche--large .cbb-fiches__icone { background: var(--cbb-blanc, #fff); }
.cbb-archive-bas .cbb-fiches__nom { margin: 0 0 10px; font-size: 21px; line-height: 1.25; }
.cbb-fiches__corps h4 { margin: 16px 0 6px; font-size: 16px; font-weight: 600; color: var(--cbb-encre, #1b2522); }
.cbb-fiches__suite { display: none; }
/* Ancien texte long de la catégorie (Grille::sc_texte) : encadré « L'essentiel », même colonne que le texte qui suit. */
.cbb-texte-liste.cbb-texte-liste--encart { display: block; box-sizing: border-box; max-width: 1080px; margin: 72px auto 0; padding: 30px 36px 22px; border-radius: var(--cbb-rayon-lg, 12px); border-left: 4px solid var(--cbb-vert, #294c45); background: var(--cbb-sauge-pale, #e6eee3); }
.cbb-texte-liste--encart .cbb-texte-liste__etiquette { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: var(--cbb-fs-mini, 12px); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--cbb-vert, #294c45); }
.cbb-texte-liste--encart .cbb-texte-liste__etiquette::after { content: ""; flex: 0 0 36px; height: 1px; background: var(--cbb-sauge-clair, #b9ccb4); }
.cbb-texte-liste--encart .cbb-texte-liste__corps h3 { margin: 18px 0 8px; font-family: var(--cbb-police-titre, Georgia, serif); font-size: 21px; font-weight: 400; line-height: 1.25; color: var(--cbb-encre, #1b2522); }
.cbb-texte-liste--encart .cbb-texte-liste__corps h3:first-child { margin-top: 4px; }
.cbb-texte-liste--encart ~ * .cbb-archive-bas { margin-top: 44px; }
@media (max-width: 767px) {
	.cbb-texte-liste.cbb-texte-liste--encart { margin-top: 44px; padding: 22px 18px 14px; border-left-width: 3px; }
	.cbb-texte-liste--encart .cbb-texte-liste__corps h3 { font-size: 19px; }
	.cbb-archive-bas h2 { font-size: 28px; line-height: 1.15; }
	.cbb-archive-bas h3 { font-size: 22px; line-height: 1.2; }
	div.cbb-archive-bas.cbb-fiches { margin-top: 48px; font-size: 15px; }
	.cbb-univers-bas .cbb-producteur-bas-emplacement div.cbb-fiches { margin-bottom: 44px; }
	.cbb-archive-bas .cbb-fiches__titre { font-size: 27px; }
	.cbb-fiches__chapeau { font-size: 16px; }
	.cbb-fiches__grille { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.cbb-fiches__fiche { padding: 20px 18px 8px; }
	.cbb-archive-bas .cbb-fiches__nom { font-size: 19px; }
	.cbb-fiches--replie .cbb-fiches__fiche:nth-child(n+3) { display: none; }
	.cbb-fiches--replie.cbb-fiches--chapeau-seul .cbb-fiches__fiche { display: none; }
	.cbb-fiches--replie .cbb-fiches__suite { display: flex; justify-content: center; margin-top: 16px; }
	.cbb-fiches__bouton { min-height: 48px; padding: 12px 22px; border: 1.5px solid var(--cbb-vert, #294c45); border-radius: var(--cbb-rayon, 8px); background: transparent; color: var(--cbb-vert, #294c45); font: 600 15px/1.2 var(--cbb-police-texte, system-ui, sans-serif); cursor: pointer; }
}

/* ---------------------------------------------------------------- mention de conservation et bloc événement (fiche) */
.cbb-fiche-conservation { margin: 0; padding: 10px 14px; border-left: 3px solid var(--cbb-ocre-trait, #d8b56b); background: var(--cbb-ocre-pale, #f8efd9); border-radius: 0 var(--cbb-rayon, 8px) var(--cbb-rayon, 8px) 0; font-size: var(--cbb-fs-petit, 13.5px); line-height: 1.5; color: var(--cbb-texte, #2b2f2c); }
.cbb-fiche-evenement { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 16px 18px; border: 1px solid var(--cbb-sauge-clair, #b9ccb4); border-radius: var(--cbb-rayon-lg, 12px); background: var(--cbb-sauge-pale, #e6eee3); }
.cbb-fiche-evenement__titre { margin: 0; font-size: var(--cbb-fs-mini, 12px); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--cbb-vert, #294c45); }
.cbb-fiche-evenement__liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0; }
.cbb-fiche-evenement__liste dt { font-size: var(--cbb-fs-mini, 12px); color: var(--cbb-texte-doux, #5a615c); }
.cbb-fiche-evenement__liste dd { margin: 2px 0 0; font-size: 16px; font-weight: 600; color: var(--cbb-encre, #1b2522); }
.cbb-fiche-evenement__passe { margin: 0; font-size: var(--cbb-fs-petit, 13.5px); color: var(--cbb-texte-doux, #5a615c); }

/* ---------------------------------------------------------------- page « Programme de fidélité » (Fidelite\Presentation) */
.cbb-fidelite-page__intro { font-size: 17px; }
.cbb-fidelite-page__solde { padding: 12px 16px; border: 1px solid var(--cbb-sauge-clair, #b9ccb4); border-radius: var(--cbb-rayon, 8px); background: var(--cbb-sauge-pale, #e6eee3); }
.cbb-prose .cbb-fidelite-page__chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: var(--cbb-esp-5, 20px) 0; padding: 0; list-style: none; }
.cbb-prose .cbb-fidelite-page__chiffre { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 16px 18px; border: 1px solid var(--cbb-trait, #d8d2c4); border-radius: var(--cbb-rayon-lg, 12px); background: var(--cbb-blanc, #fff); }
.cbb-fidelite-page__valeur { font-family: var(--cbb-police-titre, Georgia, serif); font-size: 24px; line-height: 1.2; color: var(--cbb-vert, #294c45); }
.cbb-fidelite-page__legende { font-size: var(--cbb-fs-petit, 13.5px); line-height: 1.4; color: var(--cbb-texte-doux, #5a615c); }
.cbb-fidelite-page__exemple { padding: 10px 14px; border-left: 3px solid var(--cbb-ocre-trait, #d8b56b); background: var(--cbb-ocre-pale, #f8efd9); border-radius: 0 var(--cbb-rayon, 8px) var(--cbb-rayon, 8px) 0; }
