/**
 * Home page (inc/60-home.php) « La grue »: hero with the crane and the house, devis box (sable block), facts, floors
 * as elevation rows, dossiers, calculators yard, devis hoarding band, latest guides, FAQ. Mobile first.
 */

/* ── 1. Hero ─────────────────────────────────────── */
.bm-hero--home { border-bottom: 1px solid var(--bm-trait); }
.bm-hero--home .bm-hero__inner { display: grid; gap: 2.25rem; padding-block: 32px 40px; }
.bm-hero--home .bm-hero__title--xl { margin-top: 0.9rem; }
.bm-hero--home .bm-hero__lead { margin-top: 1rem; }
.bm-hero--home .bm-search { margin-top: 1.5rem; }

/* Devis box: a sable block */
.bm-devisbox { margin: 1.1rem 0 0; max-width: 560px; }
.bm-devisbox__title { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 0.75rem; font: 800 1.1rem/1.25 var(--bm-heading); }
.bm-devisbox__icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 8px; background: var(--bm-brique-text); color: var(--bm-base); }
.bm-devisbox__icon .bm-ticon { width: 22px; height: 22px; }
.bm-devisbox__row { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.bm-devisbox__label { flex: 1 1 100%; font: 700 0.9rem/1.2 var(--bm-heading); }
.bm-devisbox select {
	flex: 1 1 220px;
	min-width: 0;
	min-height: 50px;
	padding: 0 2.4rem 0 0.9rem;
	border: 2px solid var(--bm-ardoise);
	border-radius: var(--bm-radius);
	background: var(--bm-base) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231F2A33' stroke-width='2'/%3E%3C/svg%3E") right 0.9rem center / 12px no-repeat;
	color: var(--bm-ardoise);
	font: inherit;
	font-size: 1rem;
	appearance: none;
}
.bm-devisbox .bm-btn { flex: 1 1 auto; min-height: 50px; }
.bm-devisbox__note { margin: 0.65rem 0 0; font-size: 0.875rem; line-height: 1.4; }

/* Facts */
.bm-facts { display: flex; flex-wrap: wrap; gap: 1rem 0; margin: 1.6rem 0 0; padding: 0; list-style: none; max-width: 600px; }
.bm-facts li { display: flex; flex-direction: column; gap: 0.2rem; flex: 1 1 0; min-width: 0; padding-right: 0.75rem; }
.bm-facts li + li { padding-left: 0.75rem; }
.bm-facts li + li { padding-left: 1rem; border-left: 2px solid var(--bm-trait); }
.bm-facts b { font: 900 2.1rem/1 var(--bm-heading); color: var(--bm-ardoise); }
.bm-facts span { color: var(--bm-meta); font-size: 0.9rem; line-height: 1.3; }

/* The crane and the house, on a ciel-pâle sky */
.bm-hero__site { min-width: 0; }
.bm-site--hero {
	--lane: 54px;
	padding: 80px 16px 20px 74px;
	border-radius: 22px 22px 0 0;
	background: linear-gradient(180deg, var(--bm-ciel-pale) 0%, #EAF3F6 100%);
	overflow: hidden;
}
.bm-site--hero .bm-crane { --mast-x: 22px; --jib-y: 36px; }
.bm-site--hero .bm-crane__hook { --hook-right: calc(16px + var(--lane) / 2); --cable: 10px; }
.bm-site--hero .bm-crane__load { min-width: 0; }
.bm-hero__projects { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 0; list-style: none; border-radius: 0 0 22px 22px; overflow: hidden; background: var(--bm-ardoise); }
.bm-hero__projects li + li { border-left: 1px solid rgb(250 247 241 / 0.16); }
.bm-hero__projects a { display: flex; align-items: center; gap: 0.7rem; min-height: 64px; padding: 0.6rem 1rem; color: var(--bm-base); text-decoration: none; }
.bm-hero__projects a:hover { background: var(--bm-ardoise-2); }
.bm-hero__projects a:hover b { text-decoration: underline; }
.bm-hero__picon { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 8px; background: var(--bm-sable); color: var(--bm-ardoise); }
.bm-hero__picon .bm-ticon { width: 22px; height: 22px; }
.bm-hero__projects b { display: block; font: 800 1rem/1.2 var(--bm-heading); }
.bm-hero__projects small { display: block; color: var(--bm-sable); font: 700 0.8rem/1.3 var(--bm-heading); }

/* ── 2. Floors as elevation rows ────────────────── */
.bm-elevs { position: relative; margin: 0; padding: 0 0 22px; list-style: none; }
.bm-elevs::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 22px; border-top: 4px solid var(--bm-ardoise); background: repeating-linear-gradient(-45deg, rgb(31 42 51 / 0.16) 0 2px, transparent 2px 9px), var(--bm-sable-2); border-radius: 0 0 8px 8px; }
.bm-elev {
	position: relative;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 0.9rem 1.1rem;
	padding: 1.1rem 1rem 1.1rem 0;
	border: 1px solid var(--bm-trait);
	border-bottom: 5px solid var(--bm-ardoise);
	background: var(--bm-base);
}
.bm-elevs > .bm-elev:first-child { border-radius: 12px 12px 0 0; }
.bm-elev + .bm-elev { border-top: 0; }
.bm-elev__n { grid-row: 1 / span 3; display: grid; align-items: start; justify-items: center; border-right: 1px solid var(--bm-trait); }
.bm-elev__n span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 8px; background: var(--bm-mortar), var(--bm-sable); color: var(--bm-ardoise); font: 900 1.25rem/1 var(--bm-heading); }
.bm-elev:hover .bm-elev__n span { background: var(--bm-brique-text); color: var(--bm-base); }
.bm-elev__kicker { display: flex; align-items: center; gap: 0.5rem; margin: 0; color: var(--bm-brique-text); font: 700 0.9rem/1.2 var(--bm-heading); }
.bm-elev__icon .bm-ticon { width: 22px; height: 22px; color: var(--bm-ardoise); }
.bm-elev__name { margin: 0.25rem 0 0; font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.6rem); font-weight: 900; letter-spacing: -0.015em; line-height: 1.12; }
.bm-elev__name a { color: var(--bm-ardoise); text-decoration: none; }
.bm-elev__name a::after { content: ""; position: absolute; inset: 0; }
.bm-elev:hover .bm-elev__name a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.16em; }
.bm-elev:focus-within { outline: 3px solid var(--bm-focus); outline-offset: -3px; }
.bm-elev :focus-visible { outline: none; }
.bm-elev__desc { margin: 0.4rem 0 0; color: var(--bm-meta); font-size: 0.98rem; line-height: 1.55; }
.bm-elev__dossiers { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.bm-elev__dossiers li, .bm-elev__dossiers a { display: inline-flex; align-items: center; gap: 0.45rem; }
.bm-elev__dossiers li { min-height: 36px; padding: 0 0.7rem 0 0.5rem; border-radius: 999px; background: var(--bm-craie); border: 1px solid var(--bm-trait); font: 700 0.88rem/1.2 var(--bm-heading); }
.bm-elev__dossiers li.is-soon { color: var(--bm-meta); }
.bm-elev__dossiers a { position: relative; z-index: 1; color: var(--bm-ardoise); }
.bm-elev__dossiers .bm-ticon { width: 18px; height: 18px; color: var(--bm-brique-text); }
.bm-elev__state { display: flex; align-items: center; }
.bm-elev__count { color: var(--bm-brique-text); font: 800 1rem/1 var(--bm-heading); }
.bm-elevs--projects { display: grid; gap: 1rem; margin-top: 1.25rem; padding: 0; }
.bm-elevs--projects::after { display: none; }
.bm-elevs--projects .bm-elev { border: 1px solid var(--bm-trait); border-left: 6px solid var(--bm-brique); border-radius: 12px; }
.bm-elev--project .bm-elev__n span { background: var(--bm-brique-text); color: var(--bm-base); }

/* ── 3. Dossiers ────────────────────────────────── */
.bm-section--dossiers { position: relative; }
.bm-dossiers { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.bm-dossier { display: flex; flex-direction: column; padding: 0 1.1rem 0.6rem; border: 1px solid var(--bm-trait); border-radius: var(--bm-radius-lg); background: var(--bm-base); overflow: hidden; }
.bm-dossier::before { content: ""; display: block; height: 10px; margin: 0 -1.1rem 1rem; background: var(--bm-mortar), var(--bm-sable); }
.bm-dossier__head { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 0.85rem; align-items: center; }
.bm-dossier__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 10px; background: var(--bm-ardoise); color: var(--bm-sable); }
.bm-dossier__floor { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem; margin: 0; font: 700 0.85rem/1.2 var(--bm-heading); }
.bm-dossier__floor a { display: inline-flex; align-items: center; min-height: 28px; color: var(--bm-brique-text); text-decoration: none; }
.bm-dossier__floor a:hover { text-decoration: underline; }
.bm-dossier__name { margin: 0.15rem 0 0; font-size: 1.2rem; font-weight: 800; line-height: 1.2; }
.bm-dossier__theme { margin: 0.7rem 0 0; color: var(--bm-meta); font-size: 0.95rem; line-height: 1.5; }
.bm-dossier__arts { margin: 0.8rem 0 0; padding: 0; list-style: none; }
.bm-dossier__arts li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.6rem; min-height: 46px; padding: 0.4rem 0; border-top: 1px dashed #D5C9B0; font-size: 0.95rem; line-height: 1.35; }
.bm-dossier__kind { flex: 0 0 100%; color: var(--bm-meta); font: 700 0.78rem/1.2 var(--bm-heading); }
.bm-dossier__t { flex: 1 1 12em; min-width: 0; }
.bm-dossier__arts a { flex: 1 1 12em; color: var(--bm-brique-text); font-weight: 600; }

/* ── 4. Calculators yard ────────────────────────── */
.bm-calcband { background: var(--bm-base); border-block: 1px solid var(--bm-trait); }
.bm-calc { display: grid; gap: 2.25rem; align-items: start; }
.bm-calc__intro > p:not(.bm-eyebrow):not(.bm-calc__actions) { margin: 0.9rem 0 0; max-width: 54ch; color: var(--bm-meta); font-size: 1.06rem; }
.bm-calc__intro .bm-section__title { margin-top: 0.6rem; }
.bm-calc__rules { display: grid; gap: 0.55rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.bm-calc__rules li { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 1rem; line-height: 1.45; }
.bm-calc__rules .bm-ticon { width: 24px; height: 24px; padding: 3px; box-sizing: border-box; border-radius: 6px; background: var(--bm-sable); color: var(--bm-brique-text); }
.bm-calc__actions { margin: 1.5rem 0 0; }
.bm-calc__yard { min-width: 0; }
.bm-calc__lift { position: relative; padding: 108px 0 0 64px; }
.bm-calc__lift .bm-crane { --mast-x: 16px; --jib-y: 30px; bottom: 0; }
.bm-calc__lift .bm-crane__hook { --hook-right: 38%; --cable: 66px; }
.bm-calc__lift .bm-crane__load { display: none; }
.bm-tblock { list-style: none; }
.bm-tblock > a, .bm-tblock__box, .bm-tblock--featured {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	box-sizing: border-box;
	min-height: 64px;
	padding: 0.6rem 0.85rem;
	border-radius: 10px;
	background: var(--bm-sable);
	color: var(--bm-ardoise);
	text-decoration: none;
}
.bm-tblock > a:hover { background: var(--bm-base); }
a.bm-tblock--featured:hover { background: var(--bm-ardoise); }
.bm-tblock__icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 8px; background: var(--bm-base); color: var(--bm-brique-text); }
.bm-tblock__icon .bm-ticon { width: 22px; height: 22px; }
.bm-tblock__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.bm-tblock__body b { font: 800 0.98rem/1.25 var(--bm-heading); }
.bm-tblock__body small { color: var(--bm-meta); font: 600 0.8rem/1.25 var(--bm-heading); }
.bm-tblock--featured { position: relative; z-index: 1; width: 76%; margin-left: auto; min-height: 76px; background: var(--bm-brique-text); color: var(--bm-base); box-shadow: 0 18px 24px -18px rgb(31 42 51 / 0.7); }
.bm-tblock--featured .bm-tblock__body small { color: var(--bm-sable); }
.bm-tblock--featured .bm-tblock__body b { font-size: 1.05rem; }
.bm-tblock--featured .bm-soon { background: transparent; border-color: rgb(255 255 255 / 0.4); color: var(--bm-base); }
.bm-tblock--featured .bm-soon .bm-hook { color: var(--bm-base); }
.bm-calc__stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; margin: 18px 0 0; padding: 0 0 9px; list-style: none; position: relative; }
.bm-calc__stack > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.bm-calc__stack::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 2px; background: var(--bm-ardoise); }

/* ── 5. Devis band: assets/css/devis.css (bm/devis-band) ── */

/* ── 6. Latest: layout follows the number of guides (bm-latest--1 … --5), 24 px gaps, no hole ── */
.bm-latest { display: grid; gap: 24px; }
.bm-latest .bm-cards { gap: 24px; }
.bm-latest__lead { display: flex; min-width: 0; }
.bm-latest .bm-card, .bm-lead-card { transition: transform 0.18s ease-out, box-shadow 0.18s ease-out, border-color 0.15s; }
.bm-latest .bm-card:hover, .bm-lead-card:hover { transform: translateY(-3px); box-shadow: 0 22px 34px -24px rgb(31 42 51 / 0.65); }
/* Small cards: same height, fixed image ratio, clamped text, meta on one line */
.bm-latest .bm-card__media { aspect-ratio: 16 / 10; flex: none; }
.bm-latest .bm-card__meta { flex-wrap: nowrap; white-space: nowrap; overflow: hidden; }
.bm-latest .bm-card__cat { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.bm-latest .bm-card__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bm-latest .bm-card__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bm-latest .bm-card__body { flex: 1 1 auto; }

/* Lead card: photo fills the card, text on a gradient over it */
.bm-lead-card { position: relative; display: flex; width: 100%; min-height: 380px; overflow: hidden; border-radius: var(--bm-radius-lg); background: var(--bm-ardoise); color: var(--bm-base); }
.bm-lead-card:focus-within { outline: 3px solid var(--bm-focus); outline-offset: 2px; }
.bm-lead-card__link { position: relative; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; color: inherit; text-decoration: none; }
.bm-lead-card__link:focus-visible { outline: none; }
.bm-lead-card__media { position: absolute; inset: 0; }
.bm-lead-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease-out; }
.bm-lead-card:hover .bm-lead-card__img { transform: scale(1.03); }
.bm-lead-card__img--none { display: grid; place-items: center; color: rgb(233 216 180 / 0.35); }
.bm-lead-card__img--none .bm-ticon { width: 120px; height: 120px; }
.bm-lead-card.has-image .bm-lead-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(31 42 51 / 0) 25%, rgb(31 42 51 / 0.72) 58%, rgb(31 42 51 / 0.94) 100%); }
.bm-lead-card__body { position: relative; display: flex; flex-direction: column; gap: 0.6rem; padding: 1.5rem 1.4rem 1.4rem; }
.bm-lead-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem 0.75rem; font: 700 0.9rem/1.2 var(--bm-heading); }
.bm-lead-card__meta .bm-level { background: var(--bm-sable); color: var(--bm-ardoise); }
.bm-lead-card__cat { color: var(--bm-sable); }
.bm-lead-card__time { color: rgb(250 247 241 / 0.85); font-weight: 600; }
.bm-lead-card__title { margin: 0; color: var(--bm-base); font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2.1rem); font-weight: 900; line-height: 1.12; letter-spacing: -0.015em; }
.bm-lead-card__link:hover .bm-lead-card__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.16em; }
.bm-lead-card__excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: rgb(250 247 241 / 0.9); font-size: 1rem; line-height: 1.55; max-width: 60ch; }
.bm-lead-card__more { align-self: flex-start; display: inline-flex; align-items: center; min-height: 44px; margin-top: 0.2rem; padding: 0 1.1rem; border-radius: var(--bm-radius); background: var(--bm-base); color: var(--bm-ardoise); font: 700 0.95rem/1 var(--bm-heading); }
.bm-lead-card__link:hover .bm-lead-card__more { background: var(--bm-sable); }

/* One guide: a wide horizontal card (photo left, text right on white) */
.bm-lead-card--wide { background: var(--bm-base); color: var(--bm-ardoise); border: 1px solid var(--bm-trait); min-height: 0; }
.bm-lead-card--wide .bm-lead-card__link { display: grid; }
.bm-lead-card--wide .bm-lead-card__media { position: relative; aspect-ratio: 16 / 10; }
.bm-lead-card--wide .bm-lead-card__media::after { display: none; }
.bm-lead-card--wide .bm-lead-card__img--none { height: 100%; background: var(--bm-sable); color: var(--bm-ardoise); }
.bm-lead-card--wide .bm-lead-card__title { color: var(--bm-ardoise); }
.bm-lead-card--wide .bm-lead-card__cat { color: var(--bm-brique-text); }
.bm-lead-card--wide .bm-lead-card__time, .bm-lead-card--wide .bm-lead-card__excerpt { color: var(--bm-meta); }
.bm-lead-card--wide .bm-lead-card__meta .bm-level { background: var(--bm-ardoise); color: var(--bm-sable); }
.bm-lead-card--wide .bm-lead-card__more { background: var(--bm-ardoise); color: var(--bm-base); }
.bm-lead-card--wide .bm-lead-card__body { justify-content: center; }

/* Phones: one column. Tablets: lead full width, then 2 columns. */
.bm-latest__side, .bm-latest__pair { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) {
	.bm-latest__side, .bm-latest__pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bm-latest--4 .bm-latest__side > li:last-child { grid-column: 1 / -1; }
	.bm-lead-card { min-height: 420px; }
	.bm-lead-card__body { padding: 2rem 1.9rem 1.8rem; }
	.bm-lead-card--wide .bm-lead-card__link { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
	.bm-lead-card--wide .bm-lead-card__media { aspect-ratio: auto; min-height: 320px; }
}
@media (min-width: 1024px) {
	.bm-latest--3, .bm-latest--4, .bm-latest--5 { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: stretch; }
	.bm-latest--5 .bm-latest__side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bm-latest--3 .bm-latest__side, .bm-latest--4 .bm-latest__side { grid-template-columns: minmax(0, 1fr); }
	.bm-latest--4 .bm-latest__side > li:last-child { grid-column: auto; }
	/* Stacked side cards become rows (photo left) so the column stays as tall as the lead. */
	.bm-latest--3 .bm-card, .bm-latest--4 .bm-card { flex-direction: row; }
	.bm-latest--3 .bm-card__media, .bm-latest--4 .bm-card__media { width: 42%; aspect-ratio: auto; min-height: 100%; }
	.bm-latest--4 .bm-card__excerpt { display: none; }
	.bm-lead-card { min-height: 100%; }
	.bm-latest__lead .bm-lead-card { min-height: 520px; }
}

/* ── 7. FAQ: site.css (« Les réponses du chantier ») ── */

/* ── Tablet ≥ 600 ─────────────────────────────────── */
@media (min-width: 600px) {
	.bm-devisbox .bm-btn { flex: 0 0 auto; }
	.bm-dossiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bm-elev { grid-template-columns: 84px minmax(0, 1fr) auto; }
	.bm-elev__n { grid-row: 1 / span 2; }
	.bm-elev__state { grid-column: 3; grid-row: 1; align-self: start; }
	.bm-elev__dossiers { grid-column: 2 / -1; }
	.bm-elevs--projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bm-elevs--projects .bm-elev { grid-template-columns: 70px minmax(0, 1fr); }
	.bm-elevs--projects .bm-elev__state { grid-column: 2; grid-row: auto; }
	.bm-calc__stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bm-site--hero { --lane: 64px; padding-left: 92px; }
	.bm-site--hero .bm-crane { --mast-x: 30px; }
}

/* ── Laptop ≥ 1024 ────────────────────────────────── */
@media (min-width: 1024px) {
	.bm-hero--home .bm-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr); align-items: end; gap: 3.5rem; padding-block: 56px 0; }
	.bm-hero--home .bm-hero__text { padding-bottom: 48px; }
	.bm-site--hero .bm-floorline a { min-height: 58px; }
	.bm-site--hero .bm-floorline__name { font-size: 1.05rem; }
	.bm-elev { grid-template-columns: 96px minmax(0, 1.1fr) minmax(0, 1.2fr) 150px; align-items: center; padding-block: 1.3rem; }
	.bm-elev__n { grid-row: auto; align-self: stretch; align-items: center; }
	.bm-elev__n span { width: 60px; height: 60px; font-size: 1.5rem; }
	.bm-elev__dossiers { grid-column: auto; }
	.bm-elev__state { grid-column: auto; grid-row: auto; justify-content: flex-end; align-self: center; }
	.bm-elevs--projects .bm-elev { grid-template-columns: 80px minmax(0, 1fr) auto; }
	.bm-elevs--projects .bm-elev__dossiers { grid-column: 2 / -1; }
	.bm-elevs--projects .bm-elev__state { grid-column: 3; grid-row: 1; }
	.bm-dossiers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
	.bm-dossier { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: 1.5rem; align-content: start; }
	.bm-dossier::before { grid-column: 1 / -1; }
	.bm-dossier__head, .bm-dossier__theme { grid-column: 1; }
	.bm-dossier__arts { grid-column: 2; grid-row: 2 / span 2; margin-top: 0; }
	.bm-dossier__arts li:first-child { border-top: 0; }
	.bm-calc { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 4rem; }
}
@media (min-width: 1440px) {
	.bm-hero--home .bm-hero__inner { gap: 5rem; padding-top: 72px; }
	.bm-site--hero { --lane: 72px; padding: 96px 22px 24px 110px; }
	.bm-site--hero .bm-crane { --mast-x: 40px; --jib-y: 40px; }
	.bm-site--hero .bm-crane__hook { --hook-right: calc(22px + var(--lane) / 2); }
}


/* Grid children never force their min-content width (long selects, search fields). */
.bm-hero--home .bm-hero__inner > *, .bm-hero__text > *, .bm-calc > * { min-width: 0; }
.bm-dossier__floor a { min-height: 44px; }
.bm-calc__note { margin: 0.75rem 0 0; color: var(--bm-meta); font-size: 0.9rem; }
.bm-lead-card--wide .bm-lead-card__img { position: absolute; inset: 0; }

/* ── Hero: the house in cross-section (bm_house_section) ── */
.bm-hs { margin: 0; padding: 18px 16px 16px; border-radius: 22px 22px 0 0; background: linear-gradient(180deg, var(--bm-ciel-pale) 0%, #EAF3F6 70%, var(--bm-craie) 100%); }
.bm-hs__svg { display: block; width: 100%; height: auto; overflow: visible; }
.bm-hs__layer { cursor: pointer; outline: none; }
.bm-hs__layer > :not(.bm-hs__tag) { transition: transform 0.2s ease-out, filter 0.2s ease-out; transform-box: fill-box; }
.bm-hs__layer:hover > :not(.bm-hs__tag), .bm-hs__layer.is-hi > :not(.bm-hs__tag), .bm-hs__layer:focus-visible > :not(.bm-hs__tag) {
	transform: translateY(-2px);
	filter: drop-shadow(1.5px 0 0 #C2452D) drop-shadow(-1.5px 0 0 #C2452D) drop-shadow(0 1.5px 0 #C2452D) drop-shadow(0 -1.5px 0 #C2452D);
}
.bm-hs__tag rect { fill: #FFFFFF; stroke: #A63823; stroke-width: 1.5; transition: fill 0.15s; }
.bm-hs__tag text { fill: #A63823; font: 800 11px/1 var(--bm-heading); text-anchor: middle; }
.bm-hs__layer:hover .bm-hs__tag rect, .bm-hs__layer.is-hi .bm-hs__tag rect, .bm-hs__layer:focus-visible .bm-hs__tag rect { fill: #A63823; }
.bm-hs__layer:hover .bm-hs__tag text, .bm-hs__layer.is-hi .bm-hs__tag text, .bm-hs__layer:focus-visible .bm-hs__tag text { fill: #FFFFFF; }
.bm-hs__hook { transform-box: view-box; transform-origin: 250px 37px; animation: bm-sway 4.5s ease-in-out infinite alternate; }
@keyframes bm-sway { from { transform: rotate(-2.5deg); } to { transform: rotate(2.5deg); } }
@media (prefers-reduced-motion: reduce) { .bm-hs__hook { animation: none; } }

.bm-hs__legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.bm-hs__legend a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 48px;
	height: 100%;
	box-sizing: border-box;
	padding: 0.4rem 0.6rem;
	border: 1px solid var(--bm-trait);
	border-radius: 10px;
	background: var(--bm-base);
	color: var(--bm-ardoise);
	text-decoration: none;
	transition: background-color 0.15s, border-color 0.15s, transform 0.15s;
}
.bm-hs__legend li.is-hi a, .bm-hs__legend a:hover, .bm-hs__legend a:focus-visible { border-color: var(--bm-brique-text); background: var(--bm-brique-text); color: var(--bm-base); transform: translateY(-1px); }
.bm-hs__legend a:focus-visible { outline: 3px solid var(--bm-focus); outline-offset: 2px; }
.bm-hs__code { flex: none; min-width: 2em; color: var(--bm-brique-text); font: 800 0.82rem/1 var(--bm-heading); }
.bm-hs__icon .bm-ticon { width: 18px; height: 18px; }
.bm-hs__text { display: flex; flex-direction: column; gap: 0.15rem; flex: 1 1 auto; min-width: 0; }
.bm-hs__name { font: 700 0.9rem/1.2 var(--bm-heading); hyphens: auto; overflow-wrap: anywhere; }
.bm-hs__count { font: 600 0.78rem/1.1 var(--bm-heading); opacity: 0.8; }
.bm-hs__legend li.is-hi .bm-hs__code, .bm-hs__legend a:hover .bm-hs__code, .bm-hs__legend a:focus-visible .bm-hs__code { color: var(--bm-sable); }
.bm-hero__projects a { min-height: 60px; }
@media (min-width: 600px) { .bm-hs__legend { grid-template-columns: repeat(3, minmax(0, 1fr)); } .bm-hs { padding: 22px 20px 18px; } }
@media (min-width: 1024px) { .bm-hs__legend { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ── Hero: « Avant / Après » slider (inc/65-before-after.php) ── */
.bm-ba { --pos: 50%; }
.bm-ba__frame { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 22px 22px 0 0; background: var(--bm-sable); touch-action: pan-y; user-select: none; cursor: ew-resize; }
.bm-ba__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.bm-ba__before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.bm-ba.is-nudging .bm-ba__before, .bm-ba.is-nudging .bm-ba__divider { transition: clip-path 0.5s ease-in-out, left 0.5s ease-in-out; }
.bm-ba__label { position: absolute; top: 14px; padding: 0.35rem 0.7rem; border-radius: 6px; font: 800 0.85rem/1 var(--bm-heading); pointer-events: none; }
.bm-ba__label--before { left: 14px; background: var(--bm-ardoise); color: var(--bm-sable); }
.bm-ba__label--after { right: 14px; background: var(--bm-base); color: var(--bm-ardoise); }
.bm-ba__divider { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 0; }
.bm-ba__divider::before { content: ""; position: absolute; top: 0; bottom: 0; left: -1.5px; width: 3px; background: var(--bm-base); box-shadow: 0 0 0 1px rgb(31 42 51 / 0.25); }
.bm-ba__hook { position: absolute; left: -9px; top: calc(50% - 50px); width: 18px; height: 24px; color: var(--bm-base); }
.bm-ba__hook svg { display: block; width: 100%; height: 100%; }
.bm-ba__knob {
	position: absolute;
	left: -27px;
	top: calc(50% - 27px);
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: var(--bm-brique-text);
	box-shadow: 0 0 0 4px var(--bm-base), 0 10px 22px -8px rgb(31 42 51 / 0.6);
	color: var(--bm-base);
	cursor: ew-resize;
}
.bm-ba__knob svg { width: 34px; height: 34px; }
.bm-ba__knob:focus-visible { outline: 3px solid var(--bm-ardoise); outline-offset: 5px; }
.bm-ba.is-dragging .bm-ba__knob { transform: scale(1.06); }
.bm-ba__spot { position: absolute; left: var(--x); top: var(--y); z-index: 2; }
.bm-ba__dot {
	position: relative;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: -22px 0 0 -22px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.bm-ba__dot::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: var(--bm-base); box-shadow: 0 0 0 3px var(--bm-brique-text), 0 6px 14px -4px rgb(31 42 51 / 0.6); }
.bm-ba__dot span[aria-hidden] { position: relative; color: var(--bm-brique-text); font: 900 0.85rem/1 var(--bm-heading); }
.bm-ba__dot[aria-expanded="true"]::before { background: var(--bm-brique-text); }
.bm-ba__dot[aria-expanded="true"] span[aria-hidden] { color: var(--bm-base); }
.bm-ba__dot:focus-visible { outline: 3px solid var(--bm-ardoise); outline-offset: 0; border-radius: 50%; }
.bm-ba__tip { position: absolute; left: 18px; top: 18px; width: 210px; padding: 0.75rem 0.85rem 0.55rem; border-radius: 10px; background: var(--bm-base); box-shadow: 0 16px 30px -14px rgb(31 42 51 / 0.65); cursor: auto; }
.bm-ba__spot.is-left .bm-ba__tip { left: auto; right: 18px; }
.bm-ba__tip-head { display: flex; align-items: center; gap: 0.45rem; margin: 0; font: 800 0.98rem/1.2 var(--bm-heading); }
.bm-ba__tip-count { margin: 0.3rem 0 0; color: var(--bm-meta); font-size: 0.86rem; }
.bm-ba__tip a { display: inline-flex; align-items: center; min-height: 40px; color: var(--bm-brique-text); font: 700 0.92rem/1 var(--bm-heading); }
.bm-hero__site .bm-ba + .bm-hero__projects { border-radius: 0 0 22px 22px; }
@media (min-width: 1024px) { .bm-ba__frame { aspect-ratio: 5 / 4; } }
@media (prefers-reduced-motion: reduce) { .bm-ba.is-nudging .bm-ba__before, .bm-ba.is-nudging .bm-ba__divider { transition: none; } }
.bm-ba__spot.is-up .bm-ba__tip { top: auto; bottom: 18px; }
.bm-ba__spot.is-open { z-index: 6; }

/* ── Hero: « La grue » carousel (inc/66-hero-carousel.php) ── */
.bm-car { --t1: #E9D8B4; --t2: #F2E8D2; position: relative; max-width: 560px; margin-inline: auto; padding: 46px 24px 0 0; }
.bm-car[data-tone="brique"] { --t1: #E9A897; --t2: #F5D3C9; }
.bm-car[data-tone="ciel"] { --t1: #B5D1DC; --t2: #DCEBF1; }
.bm-car[data-tone="ardoise"] { --t1: #A3ADB5; --t2: #D3D8DC; }
.bm-car__crane { position: absolute; left: 6%; right: 0; top: 0; height: 52px; pointer-events: none; }
.bm-car__jib { position: absolute; left: 0; right: 0; top: 6px; height: 4px; border-radius: 2px; background: var(--bm-brique); }
.bm-car__jib::before { content: ""; position: absolute; left: 10%; top: -16px; width: 4px; height: 20px; background: var(--bm-ardoise); border-radius: 2px 2px 0 0; }
.bm-car__cable { position: absolute; right: 26%; top: 10px; width: 1.5px; height: 30px; background: var(--bm-ardoise); }
.bm-car__hook { position: absolute; right: calc(26% - 6px); top: 34px; width: 14px; height: 20px; }
.bm-car__hook .bm-hook__block { display: none; }
.bm-car__stage { position: relative; touch-action: pan-y; }
.bm-car__back { position: absolute; inset: 0; border-radius: 20px; transition: background-color 0.35s ease; }
.bm-car__back--1 { background: var(--t1); transform: translate(12px, 12px) rotate(1.6deg); }
.bm-car__back--2 { background: var(--t2); transform: translate(22px, 22px) rotate(3.2deg); }
.bm-car__track { position: relative; display: grid; }
.bm-car__slide { grid-area: 1 / 1; display: flex; visibility: hidden; opacity: 0; transition: opacity 0.3s ease, visibility 0s 0.3s; }
.bm-car__slide.is-active { visibility: visible; opacity: 1; transition: opacity 0.3s ease; }
.bm-car__slide.is-from-next { animation: bm-car-in-r 0.32s ease; }
.bm-car__slide.is-from-prev { animation: bm-car-in-l 0.32s ease; }
@keyframes bm-car-in-r { from { transform: translateX(18px); opacity: 0; } }
@keyframes bm-car-in-l { from { transform: translateX(-18px); opacity: 0; } }
.bm-car__card { box-sizing: border-box; display: flex; flex-direction: column; width: 100%; max-height: 460px; padding: 1.25rem 1.3rem 1.2rem; border: 1px solid var(--bm-trait); border-radius: 20px; background: var(--bm-base); box-shadow: 0 22px 40px -30px rgb(31 42 51 / 0.6); overflow: hidden; }
.bm-car__kicker { display: flex; align-items: center; gap: 0.5rem; margin: 0; color: var(--bm-brique-text); font: 700 0.9rem/1.2 var(--bm-heading); }
.bm-car__kicker .bm-ticon { width: 20px; height: 20px; }
.bm-car__title { margin: 0.45rem 0 0; font-size: 1.35rem; font-weight: 900; line-height: 1.15; letter-spacing: -0.01em; }
.bm-car__title a { color: var(--bm-ardoise); text-decoration: none; }
.bm-car__title a:hover { text-decoration: underline; }
.bm-car__more { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 1rem; margin: auto 0 0; padding-top: 0.9rem; }
.bm-car__more > a:not(.bm-btn) { display: inline-flex; align-items: center; min-height: 44px; color: var(--bm-brique-text); font: 700 0.95rem/1 var(--bm-heading); }
.bm-car__time { color: var(--bm-meta); font-size: 0.875rem; }
.bm-car__devis-art { position: relative; flex: none; height: 96px; margin: -1.25rem -1.3rem 1rem; background: repeating-linear-gradient(90deg, var(--bm-ardoise) 0 46px, #17212A 46px 49px); border-bottom: 6px solid var(--bm-brique); }
.bm-car__devis-art .bm-crane { --mast-x: 14%; --jib-y: 18px; --ink: var(--bm-sable); }
.bm-car__devis-art .bm-crane__hook { --hook-right: 32%; --cable: 16px; }
.bm-devisbox--bare { margin: 0.9rem 0 0; padding: 0; max-width: none; border-radius: 0; background: none; box-shadow: none; }
.bm-devisbox--bare .bm-devisbox__title { display: none; }
.bm-car__card--guide { position: relative; }
.bm-car__thumb { float: right; width: 112px; height: 84px; margin: 0 0 0.6rem 1rem; overflow: hidden; border-radius: 10px; border: 3px solid var(--bm-base); box-shadow: 0 0 0 1px var(--bm-trait); }
.bm-car__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bm-car__points { display: grid; gap: 0.4rem; margin: 0.9rem 0 0; padding: 0; list-style: none; clear: both; }
.bm-car__points li { display: flex; align-items: flex-start; gap: 0.55rem; font-size: 0.95rem; line-height: 1.4; }
.bm-car__points .bm-ticon { width: 20px; height: 20px; padding: 2px; box-sizing: border-box; border-radius: 5px; background: var(--bm-sable); color: var(--bm-brique-text); }
.bm-car__dicon { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-right: 0.5rem; vertical-align: -6px; border-radius: 8px; background: var(--bm-sable); }
.bm-car__dicon .bm-ticon { width: 20px; height: 20px; }
.bm-car__list { margin: 0.8rem 0 0; padding: 0; list-style: none; }
.bm-car__list li { border-top: 1px dashed #D5C9B0; }
.bm-car__list a { display: flex; align-items: center; min-height: 44px; color: var(--bm-ardoise); font-size: 0.95rem; font-weight: 600; line-height: 1.3; text-decoration: none; }
.bm-car__list a:hover { color: var(--bm-brique-text); text-decoration: underline; }
.bm-mini .bm-tools-calc { margin: 0; }
.bm-mini .tc-calc { margin: 0.6rem 0 0; padding: 0; border: 0; background: none; box-shadow: none; }
.bm-mini .tc-calc__head, .bm-mini .tc-calc__notice, .bm-mini .tc-step__title, .bm-mini .tc-calc__list, .bm-mini .tc-calc__detail, .bm-mini .tc-calc__note, .bm-mini .tc-calc__tools, .bm-mini .bm-mini-off { display: none !important; }
.bm-mini .tc-calc__form { display: grid; gap: 0.6rem; grid-template-columns: 1fr; }
.bm-mini .tc-calc__inputs { display: grid; gap: 0.5rem; padding: 0; border: 0; background: none; }
.bm-mini .tc-step { margin: 0; padding: 0; border: 0; background: none; }
.bm-mini .tc-calc__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.bm-mini .tc-field--wide, .bm-mini .tc-field--pills { grid-column: 1 / -1; }
.bm-mini .tc-calc__actions { display: flex; gap: 0.5rem; margin: 0.2rem 0 0; }
.bm-mini .tc-calc__btn { min-height: 44px; }
.bm-mini .tc-calc__results { margin: 0; padding: 0.6rem 0.8rem; border-radius: 10px; background: var(--bm-craie); border: 1px solid var(--bm-trait); min-height: 0; }
.bm-mini .tc-calc__empty { margin: 0; font-size: 0.875rem; color: var(--bm-meta); }
.bm-mini .tc-calc__key { margin: 0; }
.bm-mini .bm-tools-devis { display: none; }
.bm-car__nav { display: flex; align-items: center; justify-content: center; gap: 0.75rem; margin: 30px 0 0; }
.bm-car__btn { display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid var(--bm-ardoise); border-radius: 50%; background: var(--bm-base); color: var(--bm-ardoise); cursor: pointer; }
.bm-car__btn svg { width: 20px; height: 20px; }
.bm-car__btn:hover { background: var(--bm-ardoise); color: var(--bm-base); }
.bm-car__dots { display: flex; align-items: center; gap: 2px; }
.bm-car__dot { position: relative; width: 26px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; }
.bm-car__dot::before { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 999px; box-shadow: inset 0 0 0 2px var(--bm-ardoise); transition: width 0.2s, margin 0.2s, background-color 0.2s; }
.bm-car__dot[aria-current="true"]::before { width: 22px; margin-left: -11px; background: var(--bm-brique-text); box-shadow: none; }
.bm-car__dot:focus-visible { outline: 3px solid var(--bm-focus); outline-offset: -6px; border-radius: 10px; }
@media (min-width: 1024px) { .bm-car { margin: 0 0 0 auto; } .bm-hero--home .bm-hero__inner { align-items: center; } }
@media (prefers-reduced-motion: reduce) { .bm-car__slide, .bm-car__back { transition: none; } .bm-car__slide.is-from-next, .bm-car__slide.is-from-prev { animation: none; } }
.bm-mini .tc-calc__key-label { display: block; color: var(--bm-meta); font: 700 0.8rem/1.2 var(--bm-heading); }
.bm-mini .tc-calc__key-value { display: block; margin-top: 0.15rem; color: var(--bm-ardoise); font: 800 1.05rem/1.25 var(--bm-heading) !important; letter-spacing: 0; }
.bm-mini .tc-calc__key::after, .bm-mini .tc-calc__key::before { display: none; }
.bm-mini .tc-calc__results { border-left: 4px solid var(--bm-brique); box-shadow: none; }
.bm-mini .tc-calc__btn { padding: 0 1rem; border-radius: var(--bm-radius); font: 700 0.95rem/1 var(--bm-heading); }
.bm-mini .tc-calc__btn--go { border: 0; background: var(--bm-brique-text); color: var(--bm-base); box-shadow: 0 3px 0 #7E2A1A; }
.bm-mini .tc-calc__btn--go:hover { background: var(--bm-ardoise); }
.bm-mini .tc-calc__btn--reset { border: 2px solid var(--bm-ardoise); background: var(--bm-base); color: var(--bm-ardoise); }
.bm-mini .tc-field label, .bm-mini .tc-field legend { font: 700 0.85rem/1.25 var(--bm-heading); }
.bm-mini .tc-field input { min-height: 44px; }
.bm-car__promises { margin-top: 1rem !important; padding-top: 0.9rem; border-top: 1px dashed #D5C9B0; }
.bm-mini .tc-field legend { float: none; margin: 0 0 0.35rem; padding: 0; }
.bm-mini .tc-field--pills { margin: 0; padding: 0; border: 0; min-width: 0; }
.bm-car__track { grid-template-rows: minmax(0, 460px); }
.bm-car__slide > .bm-car__card { height: 100%; }
/* Mini calculator rhythm: label → control 6 px, rows 16 px, controls 48 px / 10 px radius, labels on one line. */
.bm-car__card { overflow: clip; }
.bm-car__card--tool { padding-top: 1.35rem; }
.bm-mini .tc-calc__grid { gap: 16px 12px; align-items: start; }
.bm-mini .tc-field > label, .bm-mini .tc-field > legend { min-height: 0 !important; margin: 0 0 6px; padding-top: 2px; line-height: 1.3; display: block; }
.bm-mini .tc-field__control { min-height: 48px; border-radius: 10px; align-items: center; }
.bm-mini .tc-field__control input { min-height: 45px; }
.bm-mini .tc-field__unit { display: flex; align-items: center; align-self: stretch; padding: 0 12px 0 4px; }
.bm-mini .tc-field__help { margin: 4px 0 0; color: var(--bm-meta); font-size: 0.8rem; line-height: 1.3; }
.bm-mini .tc-pills { min-height: 48px; box-sizing: border-box; padding: 3px; border-radius: 10px; }
.bm-mini .tc-pill span { min-height: 38px; padding: 6px 10px; border-radius: 8px; font-size: 0.9rem; }
.bm-mini .tc-calc__actions { justify-content: flex-start; flex-wrap: nowrap; }
.bm-mini .tc-calc .tc-calc__btn--go { border: 0; background: var(--bm-brique-text); color: var(--bm-base); box-shadow: 0 3px 0 #7E2A1A; }
.bm-mini .tc-calc .tc-calc__btn--go:hover { background: var(--bm-ardoise); color: var(--bm-base); }
.bm-mini .tc-calc .tc-calc__btn--reset { border: 2px solid var(--bm-ardoise); background: var(--bm-base); color: var(--bm-ardoise); }
.bm-mini .tc-pills { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 420px) { .bm-mini .tc-pill span { padding: 6px 4px; font-size: 0.82rem; } }
@media (max-width: 1023px) { .bm-car__track { grid-template-rows: auto; } .bm-car__card { max-height: none; } }

/* Devis card v2: a small site scene, short form on one line, promise chips, trust line, « comment ça marche » rail. */
.bm-car__card--devis .bm-car__devis-art { height: 112px; overflow: hidden; }
.bm-car__card--devis .bm-car__devis-art .bm-crane { display: none; }
.bm-car__dj { position: absolute; left: 6%; right: 10%; top: 16px; height: 5px; border-radius: 3px; background: var(--bm-brique); }
.bm-car__dmast { position: absolute; left: calc(6% + 18px); top: 10px; bottom: 0; width: 5px; background: var(--bm-sable); border-radius: 2px 2px 0 0; }
.bm-car__dload { position: absolute; right: 26%; top: 21px; display: flex; flex-direction: column; align-items: center; }
.bm-car__dcable { display: block; width: 1.5px; height: 14px; background: var(--bm-sable); }
.bm-car__dhook { width: 12px; height: 14px; margin-top: -1px; color: var(--bm-sable); }
.bm-car__dhook .bm-hook__block { display: none; }
.bm-car__dsheets { position: relative; display: block; width: 62px; height: 46px; margin-top: 2px; }
.bm-car__dsheets i { position: absolute; left: 0; top: 0; width: 54px; height: 38px; border-radius: 3px; background: var(--bm-sable); box-shadow: inset 0 0 0 1px rgb(31 42 51 / 0.2); }
.bm-car__dsheets i::after { content: ""; position: absolute; left: 8px; right: 12px; top: 10px; height: 14px; background: repeating-linear-gradient(0deg, rgb(31 42 51 / 0.25) 0 2px, transparent 2px 6px); }
.bm-car__dsheets i:nth-child(2) { left: 4px; top: 4px; background: #F2E8D2; }
.bm-car__dsheets i:nth-child(3) { left: 8px; top: 8px; background: #FFFFFF; }
.bm-car__dsheets b { position: absolute; right: -10px; bottom: -6px; padding: 0.22rem 0.45rem; border-radius: 4px; background: var(--bm-brique-text); color: var(--bm-base); font: 800 0.72rem/1 var(--bm-heading); white-space: nowrap; }
.bm-car__dsign { position: absolute; left: calc(6% + 40px); bottom: 14px; padding: 0.35rem 0.7rem; border: 3px solid var(--bm-brique); border-radius: 5px; background: var(--bm-base); color: var(--bm-brique-text); font: 800 0.8rem/1 var(--bm-heading); transform: rotate(-2deg); box-shadow: 0 6px 10px -6px rgb(0 0 0 / 0.6); }
.bm-car__dsign::before, .bm-car__dsign::after { content: ""; position: absolute; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: #A9B6BF; }
.bm-car__dsign::before { left: 4px; }
.bm-car__dsign::after { right: 4px; }
.bm-car__card--devis .bm-devisbox--bare .bm-devisbox__note { display: none; }
.bm-car__card--devis .bm-devisbox__row { gap: 0.5rem; }
.bm-car__card--devis .bm-devisbox select, .bm-car__card--devis .bm-devisbox .bm-btn { min-height: 48px; height: 48px; }
@media (min-width: 600px) {
	.bm-car__card--devis .bm-devisbox__row { flex-wrap: nowrap; align-items: flex-end; }
	.bm-car__card--devis .bm-devisbox__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.bm-car__card--devis .bm-devisbox select { flex: 1 1 auto; }
	.bm-car__card--devis .bm-devisbox .bm-btn { flex: 0 0 auto; }
}
.bm-car__chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.85rem 0 0; padding: 0; list-style: none; }
.bm-car__chips li { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 32px; padding: 0 0.7rem 0 0.5rem; border-radius: 999px; background: var(--bm-craie); border: 1px solid var(--bm-trait); font: 700 0.82rem/1 var(--bm-heading); }
.bm-car__chips .bm-ticon { width: 16px; height: 16px; color: var(--bm-brique-text); }
.bm-car__trust { margin: 0.55rem 0 0; color: var(--bm-meta); font-size: 0.78rem; line-height: 1.35; }
.bm-car__rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: auto 0 0; padding: 0.85rem 0 0; list-style: none; counter-reset: none; position: relative; }
.bm-car__rail::before { content: ""; position: absolute; left: 14px; right: 14px; top: calc(0.85rem + 13px); height: 2px; background: repeating-linear-gradient(90deg, var(--bm-trait) 0 6px, transparent 6px 10px); }
.bm-car__rail li { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 0.35rem; padding-right: 0.5rem; font: 700 0.8rem/1.25 var(--bm-heading); color: var(--bm-ardoise); }
.bm-car__rail span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--bm-ardoise); color: var(--bm-sable); font: 800 0.8rem/1 var(--bm-heading); }
.bm-car__rail li:last-child span { background: var(--bm-brique-text); color: var(--bm-base); }
/* Carousel controls: one 2 px ring; hover / press fill in brique */
.bm-car__btn { border: 2px solid var(--bm-ardoise); box-shadow: none; outline: none; }
.bm-car__btn:hover, .bm-car__btn:active { background: var(--bm-brique-text); border-color: var(--bm-brique-text); color: var(--bm-base); }
.bm-car__btn:focus-visible { outline: 3px solid var(--bm-focus); outline-offset: 3px; }
/* The outer crane: complete (mast top inside the hero), hook touching the card top. */
.bm-car { padding-top: 58px; }
.bm-car__jib { top: 14px; }
.bm-car__jib::before { top: -10px; height: 14px; }
.bm-car__cable { top: 18px; height: 26px; }
.bm-car__hook { top: 42px; }

/* Dossier card: « + N autres guides » link after the first 4 guides. */
.bm-dossier__more a { font-weight: 700; text-decoration: none; }
.bm-dossier__more a:hover, .bm-dossier__more a:focus-visible { text-decoration: underline; }
