/* =====================================================================
   Page « Le centre » - refonte visuelle v2 (2 nov. 2026). Chargée uniquement par le-centre.php (body.csb-lc-page).
   Même architecture et mêmes contenus ; rythme, typographie, fonds et composants revus.
   Palette : forêt #004540 · mil #FFE175 · sable #EEE6D2 · craie #F8F7F0 · encre #16231A
   ===================================================================== */
.csb-lc-page {
	--a-foret: #004540;
	--a-mil: #FFE175;
	--a-sable: #EEE6D2;
	--a-craie: #F8F7F0;
	--a-encre: #16231A;
	--a-trait: rgba(0, 69, 64, .12);
	--a-section: clamp(72px, 40px + 4.5vw, 120px);
	--a-rayon: 18px;
}

/* --- Typographie commune --- */
body.csb-lc-page main :is(p, li, .accordion-body):not(#csb) { text-align: left; -webkit-hyphens: manual; hyphens: manual; }
body.csb-lc-page .common-subtitle { gap: 10px; margin-bottom: 14px; align-items: center; }
body.csb-lc-page .common-subtitle img { width: 22px; height: auto; }
body.csb-lc-page .common-subtitle span:not(#csb) { font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--a-foret); }
body.csb-lc-page .csb-lc-installations .common-subtitle span:not(#csb) { color: var(--a-mil); }
body.csb-lc-page main h2:not(#csb) { text-wrap: balance; letter-spacing: -.015em; }
body.csb-lc-page main h3:not(#csb) { text-wrap: balance; }

/* --- 1. Bandeau : même gabarit que la page Formations (surtitre, titre, accroche, pastilles ; règles de csb-formation.css) --- */
.csb-lc-page .csb-fo-surtitre { margin: 0 0 6px !important; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--theme-color-2) !important; }
.csb-lc-page .csb-fo-bandeau .breadcrumb-title p.csb-fo-surtitre { color: var(--theme-color-2) !important; }
.csb-lc-page .csb-fo-bandeau .breadcrumb-nav ul li + li { margin-left: 4px; }
.csb-lc-page .csb-fo-pastilles { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 26px 0 0; }
body.csb-lc-page .csb-fo-pastilles li:not(#csb) { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 7px 14px; border-radius: 100px; font-size: 14px; font-weight: 500;
	color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .25); }
.csb-lc-page .csb-fo-pastilles i { color: var(--theme-color-2); }

/* --- 2. Qui sommes-nous --- */
body.csb-lc-page .csb-lc-qui { padding-top: var(--a-section) !important; padding-bottom: var(--a-section) !important; }
body.csb-lc-page .csb-lc-qui :is(.s-shape-1, .s-shape-2) { display: none; }
body.csb-lc-page .csb-lc-qui .thumb img { border-radius: 16px; }
body.csb-lc-page .csb-lc-badge { background: var(--a-foret); border-radius: 14px; box-shadow: 0 18px 36px -22px rgba(0, 30, 28, .7); }
body.csb-lc-page .csb-lc-badge .csb-lc-badge-annee { color: var(--a-mil); }
body.csb-lc-page .csb-lc-badge .csb-lc-badge-texte { color: #fff; }
body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 28px 0 34px; padding: 0; }
body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste .service {
	display: flex; align-items: center; gap: 14px; margin: 0; padding: 14px 16px; border-radius: 14px;
	background: var(--a-craie); border: 1px solid rgba(0, 69, 64, .06);
}
body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste .service p:not(#csb) { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--a-foret); }
.csb-lc-page .csb-pq-ico { flex: none; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--a-foret); color: var(--a-mil); font-size: 18px; }
@media (max-width: 575px) { body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste { grid-template-columns: 1fr; } }

/* --- 3. Notre approche : quatre piliers sur fond blanc, séparés par des filets --- */
body.csb-lc-page .csb-lc-approche { background: #fff; padding-top: var(--a-section) !important; padding-bottom: var(--a-section) !important; }
body.csb-lc-page .csb-lc-approche .row.row-gap-4 { --bs-gutter-x: 0; row-gap: 0 !important; border-top: 1px solid rgba(0, 69, 64, .16); }
.csb-lc-pilier { height: 100%; padding: 32px 28px 8px; }
body.csb-lc-page .csb-lc-approche .col-xl-3 + .col-xl-3 .csb-lc-pilier { border-left: 1px solid rgba(0, 69, 64, .16); }
.csb-lc-pilier-ico {
	width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 22px;
	border-radius: 16px; background: var(--a-foret); color: var(--a-mil); font-size: 24px;
}
body.csb-lc-page .csb-lc-pilier h3:not(#csb) { margin: 0 0 10px; font-size: clamp(19px, 17.5px + .3vw, 22px); }
body.csb-lc-page .csb-lc-pilier p:not(#csb) { margin: 0; font-size: 16px; line-height: 1.6; color: var(--a-encre); }
@media (max-width: 1199px) {
	body.csb-lc-page .csb-lc-approche .col-xl-3 + .col-xl-3 .csb-lc-pilier { border-left: 0; }
	body.csb-lc-page .csb-lc-approche .col-md-6:nth-child(even) .csb-lc-pilier { border-left: 1px solid rgba(0, 69, 64, .16); }
	body.csb-lc-page .csb-lc-approche .col-md-6:nth-child(n+3) .csb-lc-pilier { border-top: 1px solid rgba(0, 69, 64, .16); }
}
@media (max-width: 767px) {
	body.csb-lc-page .csb-lc-approche .col-md-6 .csb-lc-pilier { border-left: 0 !important; border-top: 1px solid rgba(0, 69, 64, .16); padding: 26px 0 22px; }
	body.csb-lc-page .csb-lc-approche .col-md-6:first-child .csb-lc-pilier { border-top: 0; }
	.csb-lc-pilier { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; }
	.csb-lc-pilier-ico { grid-row: 1 / span 2; width: 48px; height: 48px; font-size: 20px; margin: 0; }
}

/* --- 4. Notre histoire : frise verticale --- */
.csb-lc-frise { padding: var(--a-section) 0; background: #fff; }
.csb-lc-frise-grille { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 5vw, 96px); align-items: start; }
@media (min-width: 992px) { .csb-lc-frise-gauche { position: sticky; top: 110px; } }
.csb-lc-frise-photo { position: relative; margin-top: 28px; aspect-ratio: 4 / 3.4; border-radius: 22px; overflow: hidden; background: var(--a-craie); }
.csb-lc-frise-photo figure { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .5s ease; }
.csb-lc-frise-photo figure.is-actif { opacity: 1; }
.csb-lc-frise-photo img { width: 100%; height: 100%; object-fit: cover; }
.csb-lc-frise-photo figcaption {
	position: absolute; left: 18px; bottom: 18px; padding: 6px 14px; border-radius: 999px; background: var(--a-mil); color: var(--a-foret);
	font-family: var(--csb-font-titre); font-weight: 600; font-size: 20px; line-height: 1.2;
}
.csb-lc-frise-liste { position: relative; list-style: none; margin: 0; padding: 0; }
.csb-lc-frise-liste::before { content: ""; position: absolute; left: 39px; top: 10px; bottom: 10px; width: 2px; background: var(--a-trait); }
.csb-lc-frise-item { position: relative; display: grid; grid-template-columns: 80px 1fr; column-gap: 24px; padding: 0 0 34px; outline: none; }
.csb-lc-frise-item:last-child { padding-bottom: 0; }
.csb-lc-frise-annee {
	position: relative; z-index: 1; align-self: start; display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 40px;
	border-radius: 999px; background: #fff; border: 2px solid var(--a-trait); color: var(--a-foret); font-weight: 700; font-size: 15px;
	font-variant-numeric: tabular-nums; transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}
.csb-lc-frise-item.is-actif .csb-lc-frise-annee { background: var(--a-foret); border-color: var(--a-foret); color: var(--a-mil); }
.csb-lc-frise-corps { padding: 6px 0 0; }
body.csb-lc-page .csb-lc-frise-corps h3:not(#csb) { margin: 0 0 8px; font-size: clamp(19px, 17.5px + .35vw, 23px); }
body.csb-lc-page .csb-lc-frise-corps p:not(#csb) { margin: 0 0 10px; font-size: 16px; line-height: 1.6; color: var(--a-encre); }
.csb-lc-frise-item:not(.is-actif) .csb-lc-frise-corps { opacity: .78; transition: opacity .3s ease; }
@media (max-width: 991px) {
	.csb-lc-frise-grille { grid-template-columns: 1fr; }
	.csb-lc-frise-photo { aspect-ratio: 16 / 10; }
	.csb-lc-frise-item:not(.is-actif) .csb-lc-frise-corps { opacity: 1; }
}
@media (max-width: 575px) {
	.csb-lc-frise-liste::before { left: 31px; }
	.csb-lc-frise-item { grid-template-columns: 64px 1fr; column-gap: 16px; }
	.csb-lc-frise-annee { width: 64px; height: 34px; font-size: 14px; }
}

/* --- 5. Nos domaines : quatre fiches visibles --- */
.csb-lc-dom2 { padding: var(--a-section) 0; background: var(--a-craie); }
.csb-lc-dom2-grille { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 4.5vw, 80px); align-items: start; }
@media (min-width: 1200px) { .csb-lc-dom2-gauche { position: sticky; top: 110px; } }
body.csb-lc-page .csb-lc-dom2-gauche p:not(#csb) { font-size: 17px; color: var(--a-encre); max-width: 42ch; }
.csb-lc-dom2-photo { margin-top: 24px; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 4.2; }
.csb-lc-dom2-photo img { width: 100%; height: 100%; object-fit: cover; }
.csb-lc-dom2-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.csb-lc-dom2-carte { display: flex; flex-direction: column; align-items: flex-start; padding: 26px; border-radius: var(--a-rayon); background: #fff; border: 1px solid rgba(0, 69, 64, .07); }
.csb-lc-dom2-ico { width: 50px; height: 50px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; border-radius: 14px; background: var(--a-mil); color: var(--a-foret); font-size: 21px; }
body.csb-lc-page .csb-lc-dom2-carte h3:not(#csb) { margin: 0 0 8px; font-size: clamp(19px, 17.5px + .3vw, 22px); }
body.csb-lc-page .csb-lc-dom2-carte p:not(#csb) { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--a-encre); }
.csb-lc-dom2-themes { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 16px 0 18px; padding: 0; }
body.csb-lc-page .csb-lc-dom2-themes li:not(#csb) { margin: 0; padding: 3px 10px; border-radius: 8px; background: var(--a-craie); border: 1px solid rgba(0, 69, 64, .1); font-size: 13px; line-height: 1.5; color: var(--a-encre); }
.csb-lc-dom2-lien { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; font-size: 15px; font-weight: 600; color: var(--a-foret); border-bottom: 2px solid var(--a-mil); padding-bottom: 2px; }
.csb-lc-dom2-lien i { font-size: 12px; transition: transform .25s ease; }
.csb-lc-dom2-lien:hover i { transform: translateX(4px); }
.csb-lc-dom2-lien:focus-visible { outline: 3px solid var(--a-foret); outline-offset: 4px; }
/* première fiche en forêt : variation de ton */
.csb-lc-dom2-carte.is-fonce { background: var(--a-foret); border-color: var(--a-foret); }
body.csb-lc-page .csb-lc-dom2-carte.is-fonce :is(h3, p):not(#csb) { color: #fff; }
body.csb-lc-page .csb-lc-dom2-carte.is-fonce .csb-lc-dom2-themes li:not(#csb) { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); color: #fff; }
.csb-lc-dom2-carte.is-fonce .csb-lc-dom2-lien { color: var(--a-mil); }
.csb-lc-dom2-carte.is-fonce .csb-lc-dom2-lien:focus-visible { outline-color: var(--a-mil); }
@media (max-width: 1199px) { .csb-lc-dom2-grille { grid-template-columns: 1fr; } .csb-lc-dom2-photo { aspect-ratio: 16 / 9; } }
@media (max-width: 767px) { .csb-lc-dom2-liste { grid-template-columns: 1fr; } .csb-lc-dom2-carte { padding: 22px; } }

/* --- 6. Comment se déroule une formation : frise d'étapes reliées --- */
body.csb-lc-page .csb-lc-etapes { padding-top: var(--a-section) !important; padding-bottom: var(--a-section) !important; background: #fff; }
body.csb-lc-page .csb-lc-etapes-liste { position: relative; list-style: none; padding: 0; margin: 0 0 8px; }
.csb-lc-etape { position: relative; padding: 0 12px; text-align: left; }
.csb-lc-etape-n {
	position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 22px;
	border-radius: 50%; background: var(--a-foret); color: var(--a-mil); font-family: var(--csb-font-titre); font-weight: 600; font-size: 24px;
	box-shadow: 0 0 0 8px #fff;
}
@media (min-width: 1200px) {
	body.csb-lc-page .csb-lc-etapes-liste::before { /* fil qui relie les étapes */
		content: ""; position: absolute; left: calc(12px + 32px); right: 18%; top: 32px; height: 2px;
		background: repeating-linear-gradient(90deg, rgba(0, 69, 64, .35) 0 8px, transparent 8px 16px);
	}
}
body.csb-lc-page .csb-lc-etape h3:not(#csb) { margin: 0 0 10px; font-size: clamp(20px, 18px + .4vw, 24px); }
body.csb-lc-page .csb-lc-etape p:not(#csb) { margin: 0; max-width: 34ch; font-size: 16px; line-height: 1.6; color: var(--a-encre); }
@media (max-width: 1199px) { .csb-lc-etape { display: grid; grid-template-columns: auto 1fr; column-gap: 18px; padding: 0; } .csb-lc-etape-n { grid-row: 1 / span 2; width: 52px; height: 52px; font-size: 20px; margin: 0; } }
body.csb-lc-page .csb-lc-etapes-bas { margin-top: 48px; }

/* --- 7. FAQ : intro en haut et collante, questions à filets --- */
body.csb-lc-page .csb-lc-faq { padding-top: var(--a-section) !important; padding-bottom: var(--a-section) !important; }
body.csb-lc-page .csb-lc-faq .row.faq { align-items: flex-start; }
@media (min-width: 1200px) { body.csb-lc-page .csb-lc-faq .col-xl-5 { position: sticky; top: 110px; } }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item { margin: 0; border: 0; border-bottom: 1px solid var(--a-trait); border-radius: 0; background: transparent; box-shadow: none; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item:first-child { border-top: 1px solid var(--a-trait); }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button { gap: 16px; padding: 22px 0; background: transparent; box-shadow: none; border-radius: 0; color: var(--a-foret); }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-body { padding: 0 52px 24px 0; }
body.csb-lc-page .csb-lc-faq .csb-faq-q { flex: 1; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-button .icon { flex: none; margin-left: auto; }

@media (prefers-reduced-motion: reduce) {
	.csb-lc-frise-photo figure, .csb-lc-frise-annee, .csb-lc-frise-corps, .csb-lc-dom2-lien i { transition: none !important; }
}

/* --- 8. Installations : carte sans photo (biodigesteur) plus discrète, motif rayé --- */
body.csb-lc-page .csb-lc-inst-media--vide { background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .06) 0 12px, rgba(255, 255, 255, .02) 12px 24px); }
@media (max-width: 767px) { body.csb-lc-page .csb-lc-inst-media--vide { aspect-ratio: auto !important; height: 140px; font-size: 56px; } }

/* --- 9. Nos installations : mosaïque de photos (fond forêt conservé) --- */
.csb-lc-mos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 280px; gap: 16px; list-style: none; margin: 0; padding: 0; }
.csb-lc-mos-tuile { position: relative; overflow: hidden; border-radius: 20px; background: #0d3a36; isolation: isolate; }
.csb-lc-mos-tuile.is-grande { grid-column: span 2; grid-row: span 2; }
.csb-lc-mos-tuile > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .8, .2, 1); }
.csb-lc-mos-tuile:hover > img { transform: scale(1.05); }
.csb-lc-mos-tuile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 28, 26, 0) 25%, rgba(0, 28, 26, .55) 55%, rgba(0, 28, 26, .92) 100%); }
.csb-lc-mos-tuile.is-sans-photo { background: repeating-linear-gradient(135deg, #0b524c 0 14px, #094943 14px 28px); }
.csb-lc-mos-tuile.is-sans-photo::before { display: none; }
.csb-lc-mos-texte { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 24px; }
.csb-lc-mos-ico { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px; border-radius: 12px; background: var(--a-mil); color: var(--a-foret); font-size: 17px; }
body.csb-lc-page .csb-lc-mos-texte h3:not(#csb) { margin: 0 0 6px; font-size: clamp(19px, 17.5px + .35vw, 22px); line-height: 1.2; color: #fff; }
.csb-lc-mos-lien, .csb-lc-mos-lien:hover { color: #fff; }
.csb-lc-mos-lien::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* toute la tuile est cliquable */
.csb-lc-mos-lien:focus-visible { outline: none; }
.csb-lc-mos-tuile:has(.csb-lc-mos-lien:focus-visible) { outline: 3px solid var(--a-mil); outline-offset: 3px; }
body.csb-lc-page .csb-lc-mos-texte p:not(#csb) { margin: 0; max-width: 52ch; font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .86);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.csb-lc-page .csb-lc-mos-texte .csb-lc-mos-lie:not(#csb) { margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--a-mil); -webkit-line-clamp: 1; }
.csb-lc-mos-fleche {
	position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .3); color: #fff; font-size: 14px;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background-color .3s ease, color .3s ease, transform .3s ease;
}
.csb-lc-mos-tuile:hover .csb-lc-mos-fleche { background: var(--a-mil); border-color: var(--a-mil); color: var(--a-foret); transform: rotate(45deg); }
/* grande tuile : texte plus présent */
.csb-lc-mos-tuile.is-grande .csb-lc-mos-texte { padding: 32px 34px; }
body.csb-lc-page .csb-lc-mos-tuile.is-grande h3:not(#csb) { font-size: clamp(24px, 20px + 1vw, 32px); }
body.csb-lc-page .csb-lc-mos-tuile.is-grande .csb-lc-mos-texte p:not(.csb-lc-mos-lie):not(#csb) { font-size: 17px; -webkit-line-clamp: 3; }
.csb-lc-mos-tuile.is-grande .csb-lc-mos-ico { width: 48px; height: 48px; font-size: 20px; }
body.csb-lc-page .csb-lc-inst-visite { margin-top: 28px; }
@media (max-width: 1199px) { .csb-lc-mos { grid-auto-rows: 250px; } }
@media (max-width: 991px) {
	.csb-lc-mos { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 260px; }
	.csb-lc-mos-tuile.is-grande { grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 575px) {
	.csb-lc-mos { grid-template-columns: 1fr; grid-auto-rows: auto; }
	.csb-lc-mos-tuile, .csb-lc-mos-tuile.is-grande { grid-column: auto; min-height: 300px; }
	.csb-lc-mos-tuile.is-grande .csb-lc-mos-texte, .csb-lc-mos-texte { padding: 20px; }
	.csb-lc-mos-tuile.is-sans-photo { min-height: 220px; }
}
@media (prefers-reduced-motion: reduce) { .csb-lc-mos-tuile > img, .csb-lc-mos-fleche { transition: none; } }

/* --- 10. Qui sommes-nous : composition photo (remplace le collage du thème) --- */
.csb-lc-qui-visuel { display: grid; gap: 14px; }
.csb-lc-qui-visuel figure { margin: 0; overflow: hidden; border-radius: 20px; }
.csb-lc-qui-visuel img { display: block; width: 100%; height: 100%; object-fit: cover; }
.csb-lc-qui-grande { position: relative; aspect-ratio: 16 / 11; }
.csb-lc-qui-duo { display: grid; grid-template-columns: 1fr 1.35fr; gap: 14px; }
.csb-lc-qui-duo figure { aspect-ratio: 4 / 3; border-radius: 16px; }
.csb-lc-qui-badge {
	position: absolute; left: 18px; bottom: 18px; display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px;
	border-radius: 16px; background: var(--a-foret); color: #fff; box-shadow: 0 18px 36px -22px rgba(0, 30, 28, .8);
}
.csb-lc-qui-badge-ico { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; background: var(--a-mil); color: var(--a-foret); font-size: 17px; }
.csb-lc-qui-badge > span:last-child { display: flex; flex-direction: column; font-size: 13px; font-weight: 600; line-height: 1.3; }
.csb-lc-qui-badge strong { font-family: var(--csb-font-titre); font-size: 24px; line-height: 1.05; color: var(--a-mil); }
@media (min-width: 1200px) { .csb-lc-qui-visuel { padding-left: 24px; } }
@media (max-width: 575px) { .csb-lc-qui-duo { gap: 10px; } .csb-lc-qui-visuel { gap: 10px; } }
body.csb-lc-page .csb-lc-qui-duo figure { aspect-ratio: auto; height: clamp(150px, 14vw, 210px); }
body.csb-lc-page .csb-lc-qui-duo img { height: 100%; max-width: none; }

/* Bandeau : titre à la même taille que la page Formations (--fo-h1 de csb-formation.css) */
body.csb-lc-page .csb-lc-bandeau .breadcrumb-title h1:not(#csb) { font-size: clamp(32px, 1.15vw + 27.4px, 44px); line-height: 1.12; letter-spacing: -.01em; margin-bottom: 14px; }
body.csb-lc-page .csb-lc-bandeau .breadcrumb-title p.csb-fo-surtitre:not(#csb) { font-size: 17px; }
body.csb-lc-page .csb-lc-bandeau .breadcrumb-title p:not(.csb-fo-surtitre):not(#csb) { font-size: 17px; }

/* --- 11. Alternance des fonds (aucune section consécutive sur le même fond) ---
   bandeau photo · Qui (blanc) · Approche (crème très doux #FBFAF6) · Histoire (blanc) · Domaines (craie) · Étapes (blanc) · Installations (forêt) · FAQ (craie) */
body.csb-lc-page .csb-lc-approche { background: #fff !important; } /* v3 (3 nov. 2026) : blanc ; les sections blanches consécutives sont séparées par un filet (bloc v3) */
body.csb-lc-page .csb-lc-faq { background: var(--a-craie); }

/* --- 12. Notre approche : cartes (photo, méta, titre, texte, exemples) --- */
body.csb-lc-page .csb-lc-approche .row.row-gap-4 { --bs-gutter-x: 20px; row-gap: 20px !important; border-top: 0; }
.csb-lc-ap-carte { height: 100%; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--a-rayon); background: #fff; border: 1px solid rgba(0, 69, 64, .08); transition: box-shadow .3s ease, transform .3s ease; }
.csb-lc-ap-carte:hover { box-shadow: 0 26px 44px -30px rgba(0, 45, 40, .5); transform: translateY(-3px); }
.csb-lc-ap-photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.csb-lc-ap-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.csb-lc-ap-carte:hover .csb-lc-ap-photo img { transform: scale(1.05); }
.csb-lc-ap-corps { display: flex; flex-direction: column; flex: 1; padding: 22px 22px 24px; }
body.csb-lc-page .csb-lc-ap-meta:not(#csb) {
	align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 5px 12px; border-radius: 999px;
	background: rgba(0, 69, 64, .07); color: var(--a-foret); font-size: 13px; font-weight: 600; line-height: 1.4;
}
.csb-lc-ap-meta i { font-size: 14px; }
body.csb-lc-page .csb-lc-ap-corps h3:not(#csb) { margin: 0 0 8px; font-size: clamp(19px, 17.5px + .3vw, 21px); }
body.csb-lc-page .csb-lc-ap-corps > p:not(.csb-lc-ap-meta):not(#csb) { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--a-encre); }
.csb-lc-ap-liste { list-style: none; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--a-trait); }
body.csb-lc-page .csb-lc-ap-liste li:not(#csb) { position: relative; margin: 0 0 8px; padding-left: 26px; font-size: 14.5px; line-height: 1.45; color: var(--a-encre); }
.csb-lc-ap-liste li:last-child { margin-bottom: 0; }
.csb-lc-ap-liste li::before {
	content: "\f00c"; font-family: var(--icon-font); font-weight: 400; position: absolute; left: 0; top: 2px;
	width: 17px; height: 17px; display: flex; align-items: center; justify-content: center; border-radius: 5px;
	background: var(--a-mil); color: var(--a-foret); font-size: 10px;
}
@media (prefers-reduced-motion: reduce) { .csb-lc-ap-carte, .csb-lc-ap-photo img { transition: none; } }

/* --- 13. Notre histoire : titre à droite ; la photo (taille normale) reste fixe pendant que la frise défile --- */
@media (min-width: 992px) {
	.csb-lc-frise-grille { grid-template-rows: auto 1fr; align-items: start; column-gap: clamp(40px, 5vw, 96px); row-gap: 32px; }
	.csb-lc-frise-gauche { display: contents; }
	.csb-lc-frise-entete { grid-column: 2; grid-row: 1; }
	.csb-lc-frise-photo {
		grid-column: 1; grid-row: 1 / span 2; align-self: start; position: sticky; top: 110px;
		margin-top: 0; aspect-ratio: auto; height: min(560px, calc(100vh - 150px)); min-height: 380px;
	}
	.csb-lc-frise-liste { grid-column: 2; grid-row: 2; }
	.csb-lc-frise-item { padding-bottom: 28px; }
	.csb-lc-frise-item:last-child { padding-bottom: 0; }
}
.csb-lc-frise-entete .common-subtitle, .csb-lc-frise-entete .common-title { align-self: flex-start; justify-content: flex-start; }

/* --- Implantations et organisation (3 nov. 2026) : cartes de csb.css réutilisées --- */
.csb-lc-site-surface { margin-bottom: 10px; font-size: 15px; color: var(--a-encre); }
.csb-lc-site-surface strong { font-family: var(--csb-font-titre); font-size: 20px; font-weight: 600; color: var(--a-foret); }
.csb-lc-sites-note { margin: 28px 0 0; text-align: center; font-size: 16px; color: var(--a-encre); }
.csb-lc-sites-note .csb-lc-lien { margin-left: 8px; white-space: nowrap; }
.csb-lc-orga-intro { margin: 0; font-size: 17px; line-height: 1.6; color: var(--a-encre); }
.csb-lc-orga .csb-lc-site h3 { overflow-wrap: break-word; }

/* =====================================================================
   v3 - finition (3 nov. 2026). Tout est préfixé body.csb-lc-page : les classes csb-lc-* servent aussi ailleurs
   (bandeau des formations et du contact, deroulement.php sur formations.php) et ne doivent pas changer là-bas.
   Principes : blanc dominant, filets fins à la place des aplats beige et des pastilles, arrondis de 12 px (photos)
   et 8 px (petits éléments), jaune réservé à l'action principale et aux repères actifs.
   ===================================================================== */
.csb-lc-page { --a-trait-2: rgba(0, 69, 64, .2); --a-r: 12px; --a-section-2: clamp(64px, 32px + 4vw, 104px); }

/* --- Rythme : sections blanches consécutives séparées par un filet pleine largeur --- */
body.csb-lc-page :is(.csb-lc-approche, .csb-lc-frise, .csb-lc-orga, .csb-lc-sites) { border-top: 1px solid var(--a-trait); }
body.csb-lc-page :is(.csb-lc-orga, .csb-lc-sites) { padding-top: var(--a-section-2); padding-bottom: var(--a-section-2); }

/* --- 1. Bandeau --- */
body.csb-lc-page .csb-lc-bandeau .breadcrumb-nav ul li { font-size: 14px; color: rgba(255, 255, 255, .78); }
body.csb-lc-page .csb-lc-bandeau .breadcrumb-nav a { color: rgba(255, 255, 255, .92); text-decoration-color: rgba(255, 255, 255, .45); }
body.csb-lc-page .csb-lc-bandeau .breadcrumb-title p.csb-fo-surtitre:not(#csb) { margin-top: 18px !important; font-size: 14px; letter-spacing: .02em; text-transform: none; }
body.csb-lc-page .csb-lc-bandeau .breadcrumb-title h1:not(#csb) { font-size: clamp(30px, 1vw + 26px, 42px); line-height: 1.12; max-width: 18em; text-wrap: balance; }
body.csb-lc-page .csb-lc-bandeau .breadcrumb-title p:not(.csb-fo-surtitre):not(#csb) { max-width: 56ch; font-size: 16.5px; line-height: 1.6; color: rgba(255, 255, 255, .92); }
/* Pastilles : informations en ligne, sans fond ni contour ; icône fine en jaune */
body.csb-lc-page .csb-fo-pastilles { gap: 10px 26px; margin-top: 24px; }
body.csb-lc-page .csb-fo-pastilles li:not(#csb) { padding: 0; border: 0; border-radius: 0; background: none; font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, .92); }
body.csb-lc-page .csb-fo-pastilles i { font-size: 15px; font-weight: 300; }
/* Cadrage : le geste (cueillette des tomates) reste visible ; voile limité au côté du texte */
body.csb-lc-page .csb-lc-bandeau .csb-lc-bandeau-fond { object-position: 62% 40%; }
body.csb-lc-page .csb-lc-bandeau::after { background: linear-gradient(90deg, rgba(8, 28, 26, .86) 0%, rgba(8, 28, 26, .62) 42%, rgba(8, 28, 26, .12) 78%); }
@media (max-width: 767px) { body.csb-lc-page .csb-lc-bandeau::after { background: linear-gradient(180deg, rgba(8, 28, 26, .62) 0%, rgba(8, 28, 26, .84) 100%); } }

/* --- 2. Qui sommes-nous --- */
@media (min-width: 1200px) {
	body.csb-lc-page .csb-lc-qui-visuel { max-width: 560px; margin-left: auto; padding-left: 0; }
}
body.csb-lc-page .csb-lc-qui-visuel { gap: 12px; }
body.csb-lc-page .csb-lc-qui-visuel figure { border-radius: var(--a-r); }
body.csb-lc-page .csb-lc-qui-duo { gap: 12px; }
body.csb-lc-page .csb-lc-qui-duo figure { border-radius: var(--a-r); height: clamp(140px, 12vw, 180px); }
/* Badge de création : étiquette compacte, sans pastille ni ombre */
body.csb-lc-page .csb-lc-qui-badge { left: 12px; bottom: 12px; gap: 0; padding: 7px 12px; border-radius: 8px; background: rgba(0, 46, 42, .82); box-shadow: none; }
body.csb-lc-page .csb-lc-qui-badge-ico { display: none; }
body.csb-lc-page .csb-lc-qui-badge > span:last-child { flex-direction: row; align-items: baseline; gap: 8px; font-size: 13px; font-weight: 500; }
body.csb-lc-page .csb-lc-qui-badge strong { font-size: 18px; }
/* Atouts : lignes à filets, icône au trait (le thème donne à .services .service i une pastille ronde) */
body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste { gap: 0 32px; margin: 28px 0 34px; }
body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste .service { padding: 15px 0; border: 0; border-top: 1px solid var(--a-trait); border-radius: 0; background: none; }
body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste .service:nth-last-child(-n+2) { border-bottom: 1px solid var(--a-trait); }
body.csb-lc-page .csb-lc-qui .csb-pq-ico { width: 24px; height: auto; border-radius: 0; background: none; color: var(--a-foret); font-size: 20px; }
body.csb-lc-page .csb-lc-qui .csb-pq-ico i { width: auto; height: auto; padding: 0; border-radius: 0; background: none; color: var(--a-foret); }
body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste .service p:not(#csb) { font-weight: 600; line-height: 1.35; }
/* Téléphone : action secondaire, icône simple sans cercle */
body.csb-lc-page .csb-lc-qui .csb-pourquoi-icone { width: auto; height: auto; border: 0; border-radius: 0; font-size: 20px; }
body.csb-lc-page .csb-lc-qui .annual-donation { gap: 12px; }
@media (max-width: 575px) { body.csb-lc-page .csb-lc-qui .csb-pourquoi-liste .service:nth-last-child(2) { border-bottom: 0; } }

/* --- 3. Notre approche : colonnes ouvertes ; photo, titre, puis texte --- */
body.csb-lc-page .csb-lc-approche .row.row-gap-4 { --bs-gutter-x: 28px; row-gap: 40px !important; }
body.csb-lc-page .csb-lc-ap-carte { border: 0; border-radius: 0; background: none; overflow: visible; }
body.csb-lc-page .csb-lc-ap-carte:hover { box-shadow: none; transform: none; }
body.csb-lc-page .csb-lc-ap-photo { aspect-ratio: 4 / 3; border-radius: var(--a-r); }
body.csb-lc-page .csb-lc-ap-photo img { transition: none; }
body.csb-lc-page .csb-lc-ap-carte:hover .csb-lc-ap-photo img { transform: none; }
body.csb-lc-page .csb-lc-ap-corps { padding: 18px 0 0; }
body.csb-lc-page .csb-lc-ap-meta:not(#csb) { gap: 6px; margin: 0 0 8px; padding: 0; border-radius: 0; background: none; font-size: 13px; font-weight: 600; color: rgba(0, 69, 64, .78); }
body.csb-lc-page .csb-lc-ap-meta i { font-size: 13px; }
body.csb-lc-page .csb-lc-ap-liste { margin-top: 16px; padding-top: 14px; }
body.csb-lc-page .csb-lc-ap-liste li:not(#csb) { padding-left: 18px; }
body.csb-lc-page .csb-lc-ap-liste li::before { content: ""; top: .62em; left: 2px; width: 6px; height: 6px; border-radius: 50%; background: var(--a-foret); opacity: .55; }

/* --- 4. Notre histoire : filet fin, années en texte, repère rond sur la ligne --- */
body.csb-lc-page .csb-lc-frise-liste::before { left: 71px; top: 14px; bottom: 14px; width: 1px; background: var(--a-trait-2); }
body.csb-lc-page .csb-lc-frise-item { grid-template-columns: 56px 1fr; column-gap: 32px; padding-bottom: 34px; }
body.csb-lc-page .csb-lc-frise-annee {
	display: block; width: auto; height: auto; padding-top: 4px; border: 0; border-radius: 0; background: none;
	text-align: right; font-size: 15px; font-weight: 700; color: rgba(0, 69, 64, .62); transition: color .2s ease;
}
body.csb-lc-page .csb-lc-frise-annee::after {
	content: ""; position: absolute; top: 10px; right: -20px; width: 9px; height: 9px; border-radius: 50%;
	background: #fff; border: 1.5px solid rgba(0, 69, 64, .4); transition: background-color .2s ease, border-color .2s ease;
}
body.csb-lc-page .csb-lc-frise-item.is-actif .csb-lc-frise-annee { background: none; color: var(--a-foret); }
body.csb-lc-page .csb-lc-frise-item.is-actif .csb-lc-frise-annee::after { background: var(--a-foret); border-color: var(--a-foret); }
body.csb-lc-page .csb-lc-frise-corps { padding-top: 0; }
body.csb-lc-page .csb-lc-frise-corps h3:not(#csb) { margin: 0 0 6px; font-size: clamp(19px, 17.5px + .3vw, 22px); line-height: 1.3; }
body.csb-lc-page .csb-lc-frise-corps p:not(#csb) { margin: 0 0 8px; font-size: 15.5px; line-height: 1.65; }
body.csb-lc-page .csb-lc-frise-corps .csb-lc-lien { font-size: 14px; }
body.csb-lc-page .csb-lc-frise-item:not(.is-actif) .csb-lc-frise-corps { opacity: .82; }
/* Photo : proportion fixe plutôt que hauteur fixe ; légende discrète */
body.csb-lc-page .csb-lc-frise-photo { border-radius: var(--a-r); }
body.csb-lc-page .csb-lc-frise-photo figcaption { left: 12px; bottom: 12px; padding: 3px 10px; border-radius: 6px; background: rgba(255, 255, 255, .92); font-size: 16px; }
@media (min-width: 992px) {
	body.csb-lc-page .csb-lc-frise-photo { height: auto; min-height: 0; aspect-ratio: 5 / 6; max-height: calc(100vh - 150px); }
}
@media (max-width: 575px) {
	body.csb-lc-page .csb-lc-frise-liste::before { left: 59px; }
	body.csb-lc-page .csb-lc-frise-item { grid-template-columns: 46px 1fr; column-gap: 28px; }
	body.csb-lc-page .csb-lc-frise-annee { width: auto; height: auto; font-size: 14px; }
	body.csb-lc-page .csb-lc-frise-annee::after { right: -18px; }
}

/* --- 5. Organisation : trois blocs ouverts, séparés par des filets verticaux --- */
body.csb-lc-page .csb-lc-orga .csb-lc-site { height: auto; padding: 4px 0 0; border: 0; border-radius: 0; background: none; }
body.csb-lc-page .csb-lc-orga .csb-lc-site-icone { width: auto; height: auto; margin-bottom: 14px; border-radius: 0; background: none; color: var(--a-foret); font-size: 22px; }
body.csb-lc-page .csb-lc-orga .csb-lc-site h3 { margin-bottom: 8px; font-size: 20px; }
body.csb-lc-page .csb-lc-orga .csb-lc-site p { margin: 0; font-size: 16px; line-height: 1.6; }
@media (min-width: 992px) {
	body.csb-lc-page .csb-lc-orga .col-lg-4 + .col-lg-4 { border-left: 1px solid var(--a-trait); }
	body.csb-lc-page .csb-lc-orga .col-lg-4 { padding-left: 32px; padding-right: 32px; }
	body.csb-lc-page .csb-lc-orga .col-lg-4:first-child { padding-left: calc(var(--bs-gutter-x) * .5); }
}
/* Entre 992 et 1399 px, « Direction administrative et financière » passe sur deux lignes : on réserve deux lignes pour aligner les descriptions */
@media (min-width: 992px) and (max-width: 1399px) { body.csb-lc-page .csb-lc-orga .csb-lc-site h3 { min-height: 2.6em; } }
body.csb-lc-page .csb-lc-orga .csb-lc-orga-intro:not(#csb), body.csb-lc-page .csb-lc-sites .csb-lc-sites-note:not(#csb) { text-align: center; }
@media (max-width: 991px) {
	body.csb-lc-page .csb-lc-orga .row.row-gap-4 { row-gap: 0 !important; }
	body.csb-lc-page .csb-lc-orga .col-lg-4 { padding-top: 22px; padding-bottom: 22px; border-top: 1px solid var(--a-trait); }
	body.csb-lc-page .csb-lc-orga .col-lg-4:last-child { border-bottom: 1px solid var(--a-trait); }
}

/* --- 6. Domaines : quatre fiches de même poids, sur fond craie pleine largeur --- */
body.csb-lc-page .csb-lc-dom2-photo { border-radius: var(--a-r); }
body.csb-lc-page .csb-lc-dom2-liste { gap: 16px; }
body.csb-lc-page .csb-lc-dom2-carte,
body.csb-lc-page .csb-lc-dom2-carte.is-fonce { padding: 24px 24px 22px; border-radius: var(--a-r); background: #fff; border: 1px solid var(--a-trait); }
body.csb-lc-page .csb-lc-dom2-carte.is-fonce :is(h3, p):not(#csb) { color: var(--a-foret); }
body.csb-lc-page .csb-lc-dom2-carte.is-fonce p:not(#csb) { color: var(--a-encre); }
body.csb-lc-page .csb-lc-dom2-carte.is-fonce .csb-lc-dom2-lien { color: var(--a-foret); }
body.csb-lc-page .csb-lc-dom2-carte.is-fonce .csb-lc-dom2-lien:focus-visible { outline-color: var(--a-foret); }
body.csb-lc-page .csb-lc-dom2-ico { width: auto; height: auto; margin-bottom: 14px; border-radius: 0; background: none; color: var(--a-foret); font-size: 22px; }
/* Thèmes : liste d'informations, sans étiquettes */
body.csb-lc-page .csb-lc-dom2-themes { display: block; margin: 14px 0 18px; padding: 12px 0 0; border-top: 1px solid var(--a-trait); }
body.csb-lc-page .csb-lc-dom2-themes li:not(#csb),
body.csb-lc-page .csb-lc-dom2-carte.is-fonce .csb-lc-dom2-themes li:not(#csb) {
	position: relative; margin: 0 0 4px; padding: 0 0 0 16px; border: 0; border-radius: 0; background: none; font-size: 14.5px; line-height: 1.5; color: var(--a-encre);
}
body.csb-lc-page .csb-lc-dom2-themes li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 5px; height: 5px; border-radius: 50%; background: var(--a-foret); opacity: .5; }
body.csb-lc-page .csb-lc-dom2-lien { font-size: 14.5px; }

/* --- 7. Déroulement : numéros en chiffres simples, filet fin au-dessus de chaque étape --- */
body.csb-lc-page .csb-lc-etapes-liste::before { display: none; }
body.csb-lc-page .csb-lc-etape { padding: 20px 0 0; border-top: 1px solid var(--a-trait-2); }
body.csb-lc-page .csb-lc-etape-n {
	display: block; width: auto; height: auto; margin: 0 0 10px; border-radius: 0; background: none; box-shadow: none;
	color: rgba(0, 69, 64, .55); font-size: 18px; line-height: 1; font-variant-numeric: tabular-nums;
}
body.csb-lc-page .csb-lc-etape h3:not(#csb) { margin: 0 0 8px; font-size: clamp(19px, 17.5px + .3vw, 22px); }
body.csb-lc-page .csb-lc-etape p:not(#csb) { max-width: 38ch; }
@media (max-width: 1199px) {
	body.csb-lc-page .csb-lc-etape { column-gap: 16px; padding: 20px 0; }
	body.csb-lc-page .csb-lc-etape-n { width: 28px; height: auto; margin: 2px 0 0; font-size: 18px; }
	body.csb-lc-page .csb-lc-etapes-liste > li:last-child .csb-lc-etape { border-bottom: 1px solid var(--a-trait-2); }
}
body.csb-lc-page .csb-lc-etapes-bas { margin-top: 40px; }

/* --- 8. Implantations : deux blocs ouverts, filet vertical entre eux --- */
body.csb-lc-page .csb-lc-sites .csb-lc-site { height: auto; padding: 4px 0 0; border: 0; border-radius: 0; background: none; }
body.csb-lc-page .csb-lc-sites .csb-lc-site-icone { width: auto; height: auto; margin-bottom: 14px; border-radius: 0; background: none; color: var(--a-foret); font-size: 22px; }
body.csb-lc-page .csb-lc-sites .csb-lc-site h3 { margin-bottom: 6px; font-size: 21px; }
body.csb-lc-page .csb-lc-sites .csb-lc-site-surface { margin-bottom: 12px; }
body.csb-lc-page .csb-lc-sites .csb-lc-site-surface strong { font-size: 18px; }
body.csb-lc-page .csb-lc-sites .csb-lc-site p:not(.csb-lc-site-surface) { margin: 0; font-size: 16px; line-height: 1.65; }
@media (min-width: 992px) {
	body.csb-lc-page .csb-lc-sites .col-lg-6 + .col-lg-6 { border-left: 1px solid var(--a-trait); padding-left: 40px; }
	body.csb-lc-page .csb-lc-sites .col-lg-6:first-child { padding-right: 40px; }
}
@media (max-width: 991px) {
	body.csb-lc-page .csb-lc-sites .row.row-gap-4 { row-gap: 0 !important; }
	body.csb-lc-page .csb-lc-sites .col-lg-6 { padding-top: 22px; padding-bottom: 22px; border-top: 1px solid var(--a-trait); }
	body.csb-lc-page .csb-lc-sites .col-lg-6:last-child { border-bottom: 1px solid var(--a-trait); }
}
body.csb-lc-page .csb-lc-sites-note { margin-top: 32px; font-size: 15px; }

/* --- 9. Installations : limites nettes, voile localisé, descriptions complètes --- */
body.csb-lc-page .csb-lc-installations :is(.shape-10, .shape-11) { display: none; }
body.csb-lc-page .csb-lc-mos { grid-auto-rows: minmax(280px, auto); gap: 14px; }
body.csb-lc-page .csb-lc-mos-tuile { display: flex; flex-direction: column; justify-content: flex-end; border-radius: var(--a-r); }
body.csb-lc-page .csb-lc-mos-tuile > img { transition: none; }
body.csb-lc-page .csb-lc-mos-tuile:hover > img { transform: none; }
body.csb-lc-page .csb-lc-mos-tuile::before { background: linear-gradient(180deg, rgba(0, 28, 26, 0) 22%, rgba(0, 28, 26, .62) 52%, rgba(0, 28, 26, .9) 100%); }
body.csb-lc-page .csb-lc-mos-texte :is(h3, p) { text-shadow: 0 1px 2px rgba(0, 20, 18, .45); }
body.csb-lc-page .csb-lc-mos-texte { position: relative; padding: 72px 22px 20px; }
body.csb-lc-page .csb-lc-mos-tuile.is-grande .csb-lc-mos-texte { padding: 96px 30px 28px; }
body.csb-lc-page .csb-lc-mos-texte p:not(#csb),
body.csb-lc-page .csb-lc-mos-tuile.is-grande .csb-lc-mos-texte p:not(.csb-lc-mos-lie):not(#csb) { display: block; -webkit-line-clamp: unset; overflow: visible; }
body.csb-lc-page .csb-lc-mos-tuile.is-grande .csb-lc-mos-texte p:not(.csb-lc-mos-lie):not(#csb) { font-size: 16.5px; }
body.csb-lc-page .csb-lc-mos-texte .csb-lc-mos-lie:not(#csb) { display: block; margin-top: 10px; -webkit-line-clamp: unset; overflow: visible; }
body.csb-lc-page .csb-lc-mos-ico,
body.csb-lc-page .csb-lc-mos-tuile.is-grande .csb-lc-mos-ico { width: auto; height: auto; margin-bottom: 10px; border-radius: 0; background: none; color: var(--a-mil); font-size: 20px; }
body.csb-lc-page .csb-lc-mos-fleche {
	top: 16px; right: 16px; width: 34px; height: 34px; border: 0; background: rgba(0, 28, 26, .45);
	-webkit-backdrop-filter: none; backdrop-filter: none; font-size: 13px; transition: background-color .2s ease, color .2s ease;
}
body.csb-lc-page .csb-lc-mos-tuile:hover .csb-lc-mos-fleche { background: var(--a-mil); color: var(--a-foret); transform: none; }
body.csb-lc-page .csb-lc-mos-tuile:has(.csb-lc-mos-lien:focus-visible) { outline: 2px solid var(--a-mil); outline-offset: 3px; }
/* Biodigesteur sans photo : aplat uni et filet, sans rayures */
body.csb-lc-page .csb-lc-mos-tuile.is-sans-photo { background: #0a4f49; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
body.csb-lc-page .csb-lc-mos-tuile.is-sans-photo .csb-lc-mos-texte { padding-top: 64px; }
@media (max-width: 575px) {
	body.csb-lc-page .csb-lc-mos-tuile, body.csb-lc-page .csb-lc-mos-tuile.is-grande { min-height: 300px; }
	body.csb-lc-page .csb-lc-mos-tuile.is-sans-photo { min-height: 0; }
	body.csb-lc-page .csb-lc-mos-tuile.is-grande .csb-lc-mos-texte, body.csb-lc-page .csb-lc-mos-texte { padding: 80px 20px 20px; }
}
/* Visiter le centre : séparateur plutôt que carte imbriquée */
body.csb-lc-page .csb-lc-inst-visite { margin-top: 40px; padding: 28px 0 0; border-radius: 0; background: none; border-top: 1px solid rgba(255, 255, 255, .2); }
body.csb-lc-page .csb-lc-inst-visite .csb-lc-tuile-icone { width: auto; height: auto; border-radius: 0; background: none; color: var(--a-mil); font-size: 24px; }
body.csb-lc-page .csb-lc-inst-visite { align-items: flex-start; }
@media (min-width: 992px) { body.csb-lc-page .csb-lc-inst-visite { padding: 28px 0 0; align-items: center; } }

/* --- 10. FAQ : icône au trait, élément ouvert distingué par la graisse ; contact en action secondaire --- */
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button { padding: 20px 0; font-weight: 500; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button:not(.collapsed) { font-weight: 600; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-body:not(#csb) { padding: 0 48px 22px 0; font-size: 16px; line-height: 1.65; color: var(--a-encre); }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button .icon { width: 20px; height: 20px; border: 0; border-radius: 0; background: none; transform: none; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button .icon :is(.icon-plus, .icon-minus) { background-color: var(--a-foret); }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button .icon .icon-plus { width: 14px; height: 1.5px; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button .icon .icon-minus { width: 1.5px; height: 14px; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button:not(.collapsed) .icon { background: none; transform: none; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button:not(.collapsed) .icon :is(.icon-plus, .icon-minus) { opacity: 1; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item .accordion-header .accordion-button:not(.collapsed) .icon .icon-minus { transform: rotate(90deg); }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-button:focus-visible { outline: 2px solid var(--a-foret); outline-offset: 4px; border-radius: 2px; }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item { border-bottom-color: var(--a-trait-2); }
body.csb-lc-page .csb-lc-faq .faq-accordion .accordion-item:first-child { border-top-color: var(--a-trait-2); }
/* « Nous appeler » : contour fin, l'accordéon reste l'élément principal */
body.csb-lc-page .csb-lc-faq .blog-btn .e-primary-btn { background: transparent; border: 1px solid var(--a-trait-2); color: var(--a-foret); }
body.csb-lc-page .csb-lc-faq .blog-btn .e-primary-btn::before { display: none; }
body.csb-lc-page .csb-lc-faq .blog-btn .e-primary-btn:hover { background: rgba(0, 69, 64, .06); color: var(--a-foret); }

/* --- Mouvement réduit --- */
@media (prefers-reduced-motion: reduce) {
	body.csb-lc-page :is(.csb-lc-frise-annee, .csb-lc-mos-fleche), body.csb-lc-page .csb-lc-frise-annee::after { transition: none; }
	body.csb-lc-page .csb-lc-faq .accordion-button .icon :is(.icon-plus, .icon-minus) { transition: none; }
}
