@font-face{font-family:'Readex Pro';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ReadexPro-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Readex Pro';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ReadexPro-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Readex Pro';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ReadexPro-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Readex Pro';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ReadexPro-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Readex Pro';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ReadexPro-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Readex Pro';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ReadexPro-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ==========================================================================
   Brittle Bones — « La main courante » (V2, 29/10/2026)
   01 · polices auto-hébergées, jetons, base, boutons, formulaires
   ========================================================================== */

/* --- Polices (assets/fonts/, font-display: swap) --- */
@font-face{font-family:'Hepta Slab';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/HeptaSlab-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hepta Slab';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/HeptaSlab-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hepta Slab';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/HeptaSlab-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hepta Slab';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/HeptaSlab-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* --- Jetons : 5 valeurs + blanc. Mode clair uniquement. --- */
:root{
	--ardoise:#1E2B45;
	--sapin:#14615A;
	--sapin-fonce:#0F4C46;
	--laiton:#C9902F;
	--sauge:#E3ECE6;
	--lin:#F7F8F4;
	--blanc:#FFFFFF;
	--texte:#26324A;
	--doux:#4A5568;
	--filet:rgba(30,43,69,.14);
	--filet-fort:rgba(30,43,69,.30);
	--ombre:0 18px 40px -18px rgba(30,43,69,.35);
	--r-carte:18px;
	--r-photo:22px;
	--t-titre:'Hepta Slab',Georgia,'Times New Roman',serif;
	--t-texte:'Readex Pro',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
	--h-entete:76px;

	/* jetons des blocs figés (--sb-*) */
	--sb-conteneur:1240px;
	--sb-lecture:720px;
	--sb-rail:340px;
	--sb-gouttiere:44px;
	--sb-accent:var(--sapin);
	--sb-accent-clair:var(--laiton);
	--sb-encre:var(--ardoise);
	--sb-doux:var(--doux);
	--sb-filet:var(--filet);
	--sb-fond-carte:#FFFFFF;
	--sb-rayon:18px;
	--sb-rayon-grand:22px;
	--sb-ombre:var(--ombre);
	--sb-ombre-forte:0 26px 50px -22px rgba(30,43,69,.5);
	--sb-titre:var(--t-titre);
	--sb-texte:var(--t-texte);
	--sb-surf:var(--sauge);
	--sb-fonce:var(--ardoise);
	--sb-sur-fonce:#FFFFFF;
}
@media (max-width:1100px){ :root{ --sb-gouttiere:28px; } }
@media (max-width:640px){ :root{ --sb-gouttiere:20px; --h-entete:64px; } }

/* --- Base --- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:96px; }
body{
	margin:0; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column;
	background:var(--lin); color:var(--texte);
	font:400 18px/1.65 var(--t-texte); -webkit-font-smoothing:antialiased; overflow-x:clip;
}
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
img,svg{ max-width:100%; }
img{ height:auto; }
[hidden]{ display:none !important; }
h1,h2,h3,h4{ font-family:var(--t-titre); font-weight:700; color:var(--ardoise); margin:0; text-wrap:balance; }
p{ margin:0 0 1em; }
a{ color:var(--sapin); text-decoration-thickness:2px; text-underline-offset:3px; }
a:hover{ color:var(--sapin-fonce); }
:focus-visible{ outline:3px solid var(--laiton); outline-offset:3px; border-radius:6px; }
.bb-main{ flex:1 0 auto; display:block; }
.bb-evitement{ position:absolute; left:-9999px; top:8px; z-index:300; background:#fff; color:var(--ardoise); padding:12px 18px; border-radius:12px; font-weight:700; }
.bb-evitement:focus{ left:12px; }

.bb-c, .sbt-conteneur{ width:100%; max-width:calc(var(--sb-conteneur) + 2 * var(--sb-gouttiere)); margin-inline:auto; padding-inline:var(--sb-gouttiere); }
.bb-c--etroit{ max-width:calc(860px + 2 * var(--sb-gouttiere)); }

/* --- Titres --- */
.bb-h1{ font-size:clamp(30px,3.4vw,46px); line-height:1.14; margin:0 0 14px; }
.bb-h1--moyen{ font-size:clamp(28px,3vw,38px); }
.bb-h2{ font-size:clamp(26px,2.4vw,34px); line-height:1.2; }
.bb-h2--moyen{ font-size:clamp(24px,2.1vw,30px); }
.bb-h2--clair{ color:#fff; }

/* --- Sections --- */
.bb-sec{ padding-block:clamp(44px,4.5vw,64px); }
.bb-sec--lin{ background:var(--lin); }
.bb-sec--blanc{ background:var(--blanc); }
.bb-sec--sauge{ background:var(--sauge); }
.bb-sec--ardoise{ background:var(--ardoise); color:#fff; }
.bb-sec__tete{ margin-bottom:30px; }
.bb-sec__tete--ligne{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.bb-sec__chapo{ font-size:19px; line-height:1.55; color:var(--doux); max-width:64ch; margin:8px 0 0; }
.bb-sec--ardoise .bb-sec__chapo{ color:#DCE3EC; }
.bb-sec--liste{ padding-top:32px; }

/* --- La main courante (motif unique) --- */
.bb-main-courante{ display:block; height:10px; border-radius:6px; background:var(--laiton); }
.bb-main-courante--courte{ width:120px; margin-top:20px; }

/* --- Boutons (Sapin + blanc, ou Blanc + Ardoise ; jamais d'encre foncée sur vert) --- */
.bb-btn, .sbt-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 24px;
	border-radius:999px; border:2px solid transparent; font:700 17px/1.1 var(--t-texte); text-decoration:none; text-align:center;
	cursor:pointer; background:var(--sapin); color:#fff; transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.bb-btn:hover, .sbt-btn:hover{ background:var(--sapin-fonce); color:#fff; transform:translateY(-1px); box-shadow:none; }
.bb-btn--sapin{ background:var(--sapin); color:#fff; }
.bb-btn--clair{ background:#fff; color:var(--ardoise); border-color:var(--filet-fort); }
.bb-btn--clair:hover{ background:#fff; color:var(--ardoise); border-color:var(--ardoise); }
.bb-btn--grand{ min-height:56px; padding:0 30px; font-size:18px; }
.bb-btn--plein{ width:100%; }
.bb-btn:disabled, .bb-btn[disabled]{ opacity:.45; cursor:not-allowed; transform:none; }
.sbt-btn--petit{ min-height:44px; padding:0 20px; font-size:16px; }
.sbt-btn--fantome{ background:transparent; color:var(--ardoise); border-color:var(--filet-fort); }
.sbt-btn--fantome:hover{ background:#fff; color:var(--ardoise); border-color:var(--ardoise); }
.bb-lien-fort{ font-weight:700; color:var(--sapin); }

/* --- Pastilles --- */
.bb-pastille{
	display:inline-flex; align-items:center; min-height:32px; padding:3px 14px; border-radius:999px;
	font:700 15px/1.2 var(--t-texte); letter-spacing:0; text-transform:none; text-decoration:none; white-space:nowrap; max-width:100%;
}
.bb-pastille--blanche{ background:#fff; color:var(--ardoise); box-shadow:0 6px 16px -8px rgba(30,43,69,.45); }
.bb-pastille--ardoise{ background:var(--ardoise); color:#fff; }
.bb-pastille--laiton{ background:var(--laiton); color:var(--ardoise); box-shadow:0 8px 18px -8px rgba(30,43,69,.5); }
.bb-pastille--sauge{ background:var(--sauge); color:var(--ardoise); }

/* --- Formulaires : étiquette DANS le champ (gain de hauteur), gros champs, 18 px (pas de zoom iOS) --- */
.bb-champ{ position:relative; display:block; }
.bb-champ > label, .bb-champ > span:first-child{
	position:absolute; z-index:1; top:8px; left:16px; right:16px; font:700 15px/1.1 var(--t-texte); color:var(--doux);
	pointer-events:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.bb-champ input, .bb-champ select, .bb-champ textarea{
	width:100%; height:62px; padding:26px 16px 6px; border:2px solid var(--filet-fort); border-radius:14px; background:#fff;
	font:400 18px/1.3 var(--t-texte); color:var(--texte); appearance:none; -webkit-appearance:none;
}
.bb-champ select{
	padding-right:44px;
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E2B45' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center / 20px no-repeat;
}
.bb-champ textarea{ height:auto; min-height:104px; resize:none; padding-top:30px; }
.bb-champ input:focus, .bb-champ select:focus, .bb-champ textarea:focus{ outline:3px solid var(--laiton); outline-offset:1px; border-color:var(--ardoise); }
.bb-champ.est-invalide input, .bb-champ.est-invalide select, .bb-champ.est-invalide textarea{ border-color:#B3261E; }
.bb-case{ display:flex; align-items:flex-start; gap:12px; font-size:16px; line-height:1.4; cursor:pointer; }
.bb-case input{ flex:none; width:26px; height:26px; margin:1px 0 0; accent-color:var(--sapin); }
.bb-case em{ font-style:normal; font-weight:700; color:var(--doux); }
.bb-hp{ position:absolute !important; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.bb-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.bb-chip{ position:relative; display:block; cursor:pointer; }
.bb-chip input{ position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.bb-chip span{
	display:flex; align-items:center; min-height:48px; padding:6px 16px; border:2px solid var(--filet-fort); border-radius:14px;
	background:#fff; color:var(--ardoise); font:700 16px/1.25 var(--t-texte);
}
.bb-chip input:checked + span{ border-color:var(--sapin); background:var(--sauge); box-shadow:inset 0 0 0 1px var(--sapin); }
.bb-chip input:focus-visible + span{ outline:3px solid var(--laiton); outline-offset:2px; }
/* 02 · en-tête, menu, menu mobile */
.bb-entete{
	position:sticky; top:0; z-index:60; height:var(--h-entete); background:rgba(247,248,244,.97);
	-webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-bottom:1px solid var(--filet);
}
.bb-entete__in{ height:100%; max-width:1400px; margin-inline:auto; padding-inline:32px; display:flex; align-items:center; gap:28px; }
.bb-marque{ display:flex; align-items:center; gap:12px; flex:none; color:var(--ardoise); text-decoration:none; }
.bb-marque:hover{ color:var(--ardoise); }
.bb-marque__logo{ width:44px; height:44px; border-radius:12px; display:block; }
.bb-marque__txt{ display:block; }
.bb-marque__nom{ display:block; font:700 24px/1 var(--t-titre); color:var(--ardoise); }
.bb-marque__devise{ display:block; margin-top:4px; font:400 15px/1.1 var(--t-texte); color:var(--doux); }
.bb-nav{ display:flex; align-items:center; gap:22px; margin-left:auto; }
.bb-nav__liste{ display:flex; gap:2px; list-style:none; margin:0; padding:0; }
.bb-nav__liste a{
	display:block; padding:11px 12px; border-radius:10px; font:700 16px/1.2 var(--t-texte); color:var(--ardoise); text-decoration:none; white-space:nowrap;
}
.bb-nav__liste a:hover{ background:var(--sauge); color:var(--ardoise); }
.bb-nav__liste a[aria-current="page"]{ box-shadow:inset 0 -4px 0 var(--laiton); border-radius:10px 10px 0 0; }
.bb-nav__devis{ flex:none; min-height:48px; }
.bb-burger{ display:none; }

@media (max-width:1280px){
	.bb-entete__in{ padding-inline:20px; gap:14px; }
	.bb-burger{
		display:flex; align-items:center; gap:10px; margin-left:auto; min-height:48px; min-width:48px; padding:0 16px; border-radius:12px;
		border:2px solid var(--filet-fort); background:#fff; color:var(--ardoise); font:700 16px/1 var(--t-texte); cursor:pointer;
	}
	.bb-burger__traits{ width:22px; height:16px; background:linear-gradient(var(--ardoise),var(--ardoise)) 0 0/100% 3px no-repeat, linear-gradient(var(--ardoise),var(--ardoise)) 0 50%/100% 3px no-repeat, linear-gradient(var(--ardoise),var(--ardoise)) 0 100%/100% 3px no-repeat; }
	.bb-nav{
		position:fixed; top:var(--h-entete); left:0; right:0; z-index:59; display:none; flex-direction:column; align-items:stretch; gap:14px;
		margin:0; padding:10px 20px 22px; background:#fff; border-bottom:1px solid var(--filet); box-shadow:0 24px 40px -24px rgba(30,43,69,.4);
	}
	.bb-entete.is-open .bb-nav{ display:flex; }
	.bb-nav__liste{ flex-direction:column; gap:0; }
	.bb-nav__liste a{ display:flex; align-items:center; min-height:56px; padding:8px 4px; font-size:19px; border-radius:0; border-bottom:1px solid var(--filet); }
	.bb-nav__liste a[aria-current="page"]{ box-shadow:none; border-bottom:4px solid var(--laiton); }
	.bb-nav__devis{ min-height:56px; font-size:18px; }
}
@media (max-width:420px){ .bb-marque__devise{ display:none; } .bb-marque__nom{ font-size:22px; } }

/* sans JavaScript : le menu reste visible, sous le logo */
html:not(.js) .bb-entete{ height:auto; position:static; }
html:not(.js) .bb-entete__in{ flex-wrap:wrap; padding-block:10px; }
html:not(.js) .bb-burger{ display:none; }
html:not(.js) .bb-nav{ position:static; display:flex; flex-direction:row; flex-wrap:wrap; box-shadow:none; border:0; padding:0; }
html:not(.js) .bb-nav__liste{ flex-direction:row; flex-wrap:wrap; }
html:not(.js) .bb-nav__liste a{ min-height:44px; border:0; font-size:16px; }

/* barre de progression de lecture (articles) */
.bb-progression{ position:fixed; top:0; left:0; right:0; height:5px; z-index:90; pointer-events:none; }
.bb-progression__barre{ display:block; height:100%; background:var(--laiton); transform-origin:0 50%; transform:scaleX(var(--lu,0)); }
/* 03 · premier écran : photo découpée en marches, main courante laiton, carte « palier » flottante */
.bb-hero{
	position:relative; isolation:isolate; overflow:hidden; background:var(--lin);
	height:clamp(600px, calc(100vh - var(--h-entete)), 704px);
	height:clamp(600px, calc(100svh - var(--h-entete)), 704px);
}
.bb-hero__photo{
	position:absolute; top:0; bottom:0; left:44%; right:0; z-index:0; background:var(--sauge);
	/* 4 marches : le bord gauche monte en escalier vers la droite */
	clip-path:polygon(0 100%, 0 75%, 11% 75%, 11% 50%, 22% 50%, 22% 25%, 33% 25%, 33% 0, 100% 0, 100% 100%);
}
.bb-hero__img{ display:block; width:100%; height:100%; object-fit:cover; }
.bb-credit{
	position:absolute; right:14px; bottom:14px; padding:4px 12px; border-radius:999px; background:rgba(255,255,255,.92);
	color:var(--ardoise); font:400 15px/1.3 var(--t-texte);
}

/* la main courante longe les nez de marche et vient finir sur le palier (la carte) */
.bb-hero__rail{
	position:absolute; inset:0; z-index:1; pointer-events:none; background:var(--laiton);
	clip-path:polygon(calc(63% - 5px) -2%, calc(63% + 5px) -2%, calc(47.7% + 5px) 60%, calc(47.7% - 5px) 60%);
}
@keyframes bb-tracer{ from{ clip-path:polygon(calc(63% - 5px) -2%, calc(63% + 5px) -2%, calc(63% + 5px) -2%, calc(63% - 5px) -2%); } }
@media (prefers-reduced-motion:no-preference){
	html.js .bb-hero__rail{ animation:bb-tracer .9s cubic-bezier(.4,0,.2,1) both; }
}

.bb-hero__gauche{
	position:relative; z-index:2; width:50%; height:100%; display:flex; flex-direction:column; justify-content:center; gap:26px;
	padding:36px 0 40px clamp(24px,5vw,96px);
}
.bb-hero__titre{ margin:0; font:700 clamp(30px,3.1vw,64px)/1.1 var(--t-titre); letter-spacing:-.01em; }
.bb-hero__titre span{ display:block; text-wrap:balance; }
.bb-t1{ color:var(--ardoise); }
.bb-t2{ color:var(--sapin); }
.bb-hero__chapo{ margin:20px 0 0; max-width:min(29em, calc(46vw - clamp(24px,5vw,96px) - 24px)); font-size:clamp(18px,1.4vw,22px); line-height:1.5; color:var(--texte); }
.bb-hero__garanties{ list-style:none; margin:0; padding:0; display:grid; gap:10px; max-width:min(31em, calc(46vw - clamp(24px,5vw,96px) - 24px)); }
.bb-hero__garanties li{ display:flex; align-items:center; gap:12px; font:700 17px/1.35 var(--t-texte); color:var(--ardoise); }
.bb-hero__garanties .bb-picto{ flex:none; color:var(--sapin); }

/* carte palier */
.bb-carte-palier{
	position:absolute; z-index:3; left:46%; bottom:28px; width:clamp(440px,37vw,600px); padding:26px 26px 24px;
	background:#fff; border-radius:var(--r-carte); box-shadow:var(--ombre);
}
.bb-carte-palier::before{ content:""; position:absolute; left:-28px; top:-4px; width:calc(100% + 28px); height:9px; border-radius:5px; background:var(--laiton); }
.bb-carte-palier__etape{ position:absolute; top:-18px; right:22px; z-index:1; }
.bb-carte-palier__titre{ margin:0; font:700 26px/1.2 var(--t-titre); color:var(--ardoise); }
.bb-carte-palier__sous{ margin:2px 0 16px; font-size:17px; color:var(--doux); }
.bb-carte-palier__tuiles{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }

.bb-tuile-grande{
	display:flex; align-items:center; gap:14px; min-height:76px; padding:12px 16px; border:2px solid var(--filet-fort); border-radius:16px;
	background:#fff; color:var(--ardoise); font:700 19px/1.2 var(--t-texte); text-decoration:none; transition:border-color .2s, background .2s, transform .2s;
}
.bb-tuile-grande .bb-picto{ flex:none; color:var(--sapin); }
.bb-tuile-grande:hover{ border-color:var(--sapin); background:var(--sauge); color:var(--ardoise); transform:translateY(-2px); }

/* tuiles compactes (rail d'article, carte formulaire de rubrique, annuaire) */
.bb-tuile-mini{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:72px; padding:8px; border-radius:14px;
	background:#fff; color:var(--ardoise); border:2px solid var(--filet-fort); font:700 16px/1.2 var(--t-texte); text-align:center; text-decoration:none;
	transition:border-color .2s, background .2s;
}
.bb-tuile-mini .bb-picto{ color:var(--sapin); }
.bb-tuile-mini:hover{ border-color:var(--sapin); background:var(--sauge); color:var(--ardoise); }

/* ---------- tablette et mobile : photo en bandeau, titre, carte ---------- */
@media (max-width:960px){
	.bb-hero{ height:auto; display:flex; flex-direction:column; overflow:hidden; }
	.bb-hero__photo{ position:relative; order:1; left:auto; right:auto; top:auto; bottom:auto; height:clamp(180px,34vw,300px); flex:none; }
	.bb-hero__rail{ inset:auto; top:0; left:0; right:0; height:clamp(180px,34vw,300px); clip-path:polygon(calc(33.9% - 5px) -2%, calc(33.9% + 5px) -2%, calc(-11% + 5px) 100%, calc(-11% - 5px) 100%); }
	@keyframes bb-tracer-m{ from{ clip-path:polygon(calc(33.9% - 5px) -2%, calc(33.9% + 5px) -2%, calc(33.9% + 5px) -2%, calc(33.9% - 5px) -2%); } }
	html.js .bb-hero__rail{ animation-name:bb-tracer-m; }
	.bb-hero__gauche{ display:contents; }
	.bb-hero__texte{ order:2; padding:22px var(--sb-gouttiere) 0; }
	.bb-hero__titre{ font-size:clamp(26px,6.4vw,44px); line-height:1.12; letter-spacing:-.015em; }
	.bb-hero__chapo{ margin-top:14px; font-size:18px; max-width:none; }
	.bb-carte-palier{ position:relative; order:3; left:auto; bottom:auto; width:auto; margin:26px var(--sb-gouttiere) 0; padding:22px 18px 18px; }
	.bb-carte-palier::before{ left:18px; width:64px; }
	.bb-carte-palier__titre{ font-size:23px; }
	.bb-carte-palier__sous{ margin-bottom:12px; font-size:16px; }
	.bb-hero__garanties{ order:4; padding:26px var(--sb-gouttiere) 36px; max-width:none; }
	.bb-credit{ right:10px; bottom:10px; font-size:15px; }
}
@media (max-width:520px){
	.bb-carte-palier__tuiles{ gap:10px; }
	.bb-tuile-grande{ flex-direction:column; justify-content:center; text-align:center; gap:6px; min-height:88px; padding:10px 8px; font-size:17px; overflow-wrap:anywhere; }
}
/* 29/10 (juge visuel) : à 390×700, les 4 choix de « Votre projet » tiennent dans l'écran d'arrivée (bas ≤ 700 px). */
@media (max-width:520px){
	.bb-hero__photo, .bb-hero__rail{ height:clamp(120px,34vw,300px); }
	.bb-hero__texte{ padding-top:16px; }
	.bb-hero__chapo{ margin-top:10px; font-size:16px; line-height:1.5; }
	.bb-carte-palier{ margin-top:16px; padding:16px 14px 14px; }
	.bb-carte-palier__sous{ margin-bottom:8px; }
	.bb-carte-palier__tuiles{ gap:8px; }
	.bb-tuile-grande{ min-height:70px; gap:4px; padding:8px 6px; font-size:16px; }
	.bb-tuile-grande svg{ width:28px; height:28px; }
}
/* 04 · sections de l'accueil, grilles, cartes photo, rail horizontal */

/* ---- grilles : jamais de vide dans une carte (photo en flex:1) ---- */
.bb-grille{ display:grid; gap:24px; align-items:stretch; }
.bb-grille--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.bb-grille--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:1100px){ .bb-grille--4{ grid-template-columns:repeat(2,minmax(0,1fr)); } .bb-grille--3{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px){ .bb-grille--4, .bb-grille--3{ grid-template-columns:minmax(0,1fr); gap:18px; } }

/* ---- cartes photo ---- */
.bb-carte{ display:flex; min-width:0; background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.bb-carte:hover{ transform:translateY(-4px); box-shadow:var(--sb-ombre-forte); }
.bb-carte__lien{ display:flex; flex-direction:column; width:100%; color:inherit; text-decoration:none; }
.bb-carte__lien:hover{ color:inherit; }
.bb-carte__photo{ position:relative; display:block; flex:1 0 auto; aspect-ratio:16/10; overflow:hidden; background:var(--sauge); }
.bb-carte__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.bb-carte:hover .bb-carte__photo img{ transform:scale(1.04); }
.bb-carte__photo .bb-pastille{ position:absolute; left:14px; top:14px; max-width:calc(100% - 28px); overflow:hidden; text-overflow:ellipsis; }
.bb-carte__corps{ display:flex; flex-direction:column; gap:8px; padding:20px 22px 22px; }
.bb-carte__titre{ margin:0; font:600 21px/1.28 var(--t-titre); color:var(--ardoise); }
.bb-carte__extrait{ display:block; font-size:17px; line-height:1.5; color:var(--doux); }
.bb-carte__meta{ display:block; font-size:15px; color:var(--doux); }
.bb-carte__lire{ display:block; margin-top:4px; font:700 17px/1.3 var(--t-texte); color:var(--sapin); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.bb-carte--aide .bb-carte__photo{ aspect-ratio:2/1; }

/* rail horizontal des guides récents */
.bb-rail-nav{ display:flex; gap:10px; flex:none; }
.bb-rail-nav__btn{
	width:52px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; color:var(--ardoise);
	border:2px solid var(--filet-fort); cursor:pointer; transition:border-color .2s, background .2s;
}
.bb-rail-nav__btn:hover{ border-color:var(--ardoise); background:var(--sauge); }
.bb-defile{
	display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px var(--sb-gouttiere) 30px;
	padding-inline-start:max(var(--sb-gouttiere), calc((100vw - var(--sb-conteneur)) / 2));
	scroll-padding-inline-start:max(var(--sb-gouttiere), calc((100vw - var(--sb-conteneur)) / 2));
	scrollbar-width:thin; scrollbar-color:var(--filet-fort) transparent;
}
.bb-defile::after{ content:""; flex:0 0 1px; }
.bb-carte--rail{ flex:0 0 clamp(280px,26vw,380px); scroll-snap-align:start; }
.bb-carte--rail .bb-carte__photo{ aspect-ratio:16/9; }
.bb-carte--rail .bb-carte__titre, .bb-carte--rail .bb-carte__extrait{ display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
.bb-carte--rail .bb-carte__titre{ -webkit-line-clamp:2; }
.bb-carte--rail .bb-carte__extrait{ -webkit-line-clamp:2; }
#guides.bb-sec{ padding-bottom:20px; }

/* ---- 3 · outil MaPrimeAdapt' (bande ardoise) ---- */
.bb-outil__grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,560px); gap:clamp(28px,4vw,64px); align-items:start; }
.bb-outil__intro{ margin:14px 0 22px; font-size:19px; line-height:1.55; color:#DCE3EC; max-width:34em; }
.bb-outil__resultat{
	min-height:168px; padding:22px 24px; border-radius:var(--r-carte); background:rgba(255,255,255,.09); border:2px solid rgba(255,255,255,.22);
}
.bb-outil__etat{ margin:0; font-size:18px; color:#DCE3EC; }
.bb-outil__verdict{ display:flex; align-items:center; gap:12px; margin:0 0 8px; font:700 26px/1.2 var(--t-titre); color:#fff; }
.bb-outil__pastille{ flex:none; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--laiton); color:var(--ardoise); font:700 20px/1 var(--t-texte); }
.bb-outil__resultat[data-etat="non"] .bb-outil__pastille{ background:#DCE3EC; }
.bb-outil__resultat[data-etat="oui"]{ border-color:var(--laiton); }
.bb-outil__resultat p{ margin:0 0 6px; font-size:17px; line-height:1.5; color:#EEF2F6; }
.bb-outil__resultat a{ color:#fff; font-weight:700; }
.bb-outil__resultat .bb-outil__actions{ margin:10px 0 0; }
.bb-outil__resultat .bb-btn{ min-height:48px; background:#fff; color:var(--ardoise); }
.bb-outil__source{ margin:16px 0 8px; font-size:15px; line-height:1.5; color:#C9D3DF; }
.bb-outil__source a{ color:#fff; }
.bb-outil__cond{ font-size:16px; color:#DCE3EC; }
.bb-outil__cond summary{ cursor:pointer; min-height:36px; display:flex; align-items:center; font-weight:700; color:#fff; }
.bb-outil__cond ul{ margin:6px 0 0; padding-left:20px; }
.bb-outil__cond li{ margin-bottom:6px; }

.bb-outil__form{ display:grid; gap:20px; padding:26px 26px 24px; background:#fff; color:var(--texte); border-radius:var(--r-carte); box-shadow:0 30px 60px -30px rgba(0,0,0,.6); }
.bb-oq{ margin:0; padding:0; border:0; min-width:0; }
.bb-oq legend{ display:flex; align-items:center; gap:10px; padding:0; margin-bottom:10px; font:700 19px/1.2 var(--t-titre); color:var(--ardoise); }
.bb-oq__n{ flex:none; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ardoise); color:#fff; font:700 16px/1 var(--t-texte); }
.bb-oq__ligne{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:12px; margin-bottom:10px; }
.bb-outil__form .bb-champ input, .bb-outil__form .bb-champ select{ height:60px; }

/* ---- 4 · comment se passe une demande : 4 marches, la main courante les relie ---- */
.bb-marches{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; align-items:start; counter-reset:none; }
.bb-marche{ position:relative; background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); padding:30px 22px 22px; }
.bb-marche:nth-child(1){ margin-top:108px; }
.bb-marche:nth-child(2){ margin-top:72px; }
.bb-marche:nth-child(3){ margin-top:36px; }
.bb-marche:nth-child(4){ margin-top:0; }
/* tronçon de main courante : du nez de cette marche au nez de la suivante */
.bb-marche::before{
	content:""; position:absolute; left:0; top:-36px; width:calc(100% + 24px); height:44px; background:var(--laiton);
	clip-path:polygon(0 36px, 0 44px, 100% 8px, 100% 0); pointer-events:none;
}
.bb-marche:nth-child(4)::before{ top:-4px; width:100%; height:8px; clip-path:none; border-radius:5px; }
.bb-marche__n{ position:absolute; top:-18px; left:22px; z-index:1; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ardoise); color:#fff; font:700 20px/1 var(--t-titre); box-shadow:0 0 0 4px var(--sauge); }
.bb-marche:nth-child(n) .bb-marche__n{ top:-20px; }
.bb-marche h3{ margin:8px 0 8px; font:600 21px/1.25 var(--t-titre); }
.bb-marche p{ margin:0; font-size:17px; line-height:1.5; color:var(--doux); }
@media (max-width:900px){
	.bb-marches{ grid-template-columns:minmax(0,1fr); gap:30px; margin-left:18px; padding-left:26px; border-left:8px solid var(--laiton); border-radius:4px; }
	.bb-marche, .bb-marche:nth-child(n){ margin-top:0; }
	.bb-marche::before, .bb-marche:nth-child(4)::before{ display:none; }
	.bb-marche__n, .bb-marche:nth-child(n) .bb-marche__n{ top:18px; left:-50px; box-shadow:0 0 0 4px var(--sauge); }
}

/* ---- 5 · installateurs ---- */
.bb-inst{ display:grid; grid-template-columns:minmax(0,380px) minmax(0,1fr); gap:clamp(24px,3vw,40px); align-items:start; }
.bb-inst__recherche{ background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); padding:24px; }
.bb-inst__lien{ margin:16px 0 0; }
.bb-recherche-dep{ display:grid; gap:12px; }
.bb-recherche-dep__msg{ margin:0; min-height:0; font-size:16px; color:#8A1C14; }
.bb-recherche-dep__msg:empty{ display:none; }
.bb-regions{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.bb-region{ position:relative; }
.bb-region[open]{ z-index:6; }
.bb-region summary{
	display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:64px; padding:10px 16px; list-style:none; cursor:pointer;
	background:#fff; border:2px solid var(--filet-fort); border-radius:14px; font:700 17px/1.25 var(--t-texte); color:var(--ardoise);
}
.bb-region summary::-webkit-details-marker{ display:none; }
.bb-region summary:hover{ border-color:var(--sapin); }
.bb-region[open] summary{ border-color:var(--sapin); background:var(--sauge); }
.bb-region__n{ flex:none; font:400 15px/1.2 var(--t-texte); color:var(--doux); text-align:right; }
.bb-region__deps{
	position:absolute; left:0; top:calc(100% + 6px); width:max(100%, 300px); margin:0; padding:8px; list-style:none; background:#fff;
	border:2px solid var(--sapin); border-radius:14px; box-shadow:var(--ombre);
}
.bb-region__deps a{ display:flex; justify-content:space-between; gap:10px; align-items:center; min-height:44px; padding:6px 10px; border-radius:10px; color:var(--ardoise); text-decoration:none; font-size:17px; }
.bb-region__deps a:hover{ background:var(--sauge); }
.bb-region__deps b{ color:var(--sapin); }
@media (max-width:1100px){ .bb-inst{ grid-template-columns:minmax(0,1fr); } .bb-regions{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){
	.bb-regions{ grid-template-columns:minmax(0,1fr); }
	.bb-region__deps{ position:static; width:auto; margin-top:6px; box-shadow:none; }
}

/* ---- 8 · qui écrit ---- */
.bb-qui{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:center; }
.bb-qui__liens{ display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; margin:24px 0 0; }
.bb-qui__cartes{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.bb-redacteur{ background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); padding:24px 18px 22px; text-align:center; }
.bb-redacteur__nom{ margin:12px 0 2px; font:700 20px/1.25 var(--t-titre); }
.bb-redacteur__nom a{ color:var(--ardoise); text-decoration:none; }
.bb-redacteur__nom a:hover{ text-decoration:underline; }
.bb-redacteur__role{ margin:0; font-size:16px; line-height:1.4; color:var(--doux); }
.bb-portrait{ display:block; margin-inline:auto; width:96px; height:96px; border-radius:50%; background:var(--sauge); object-fit:cover; }
.bb-portrait--grand{ width:200px; height:200px; }
@media (max-width:900px){ .bb-qui{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:420px){ .bb-qui__cartes{ gap:12px; } .bb-redacteur{ padding:18px 10px; } }

/* ---- 9 · FAQ de l'accueil ---- */
.bb-sec .sbt-faq{ margin:0; }

/* ---- carte « Votre projet » (en tête de grille de rubrique, annuaire) ---- */
.bb-carte-projet{ display:flex; flex-direction:column; gap:8px; padding:24px; background:var(--ardoise); color:#fff; border-radius:var(--r-carte); box-shadow:var(--ombre); }
.bb-carte-projet__titre{ margin:0; font:700 23px/1.2 var(--t-titre); color:#fff; }
.bb-carte-projet__sous{ margin:0 0 6px; font-size:16px; line-height:1.45; color:#DCE3EC; }
.bb-carte-projet__tuiles{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bb-carte-projet--tete{ padding:0; background:transparent; box-shadow:none; }
.bb-carte-projet--tete > .bb-carte-projet{ flex:1 1 auto; justify-content:center; }
.bb-carte-projet--collante{ position:sticky; top:96px; }

/* ---- vides, boutons « voir plus » ---- */
.bb-voirplus-zone{ display:flex; justify-content:center; margin:36px 0 0; }
.bb-vide{ background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); padding:32px; text-align:center; }
.bb-vide__tuiles{ margin:24px 0; }
.bb-vide__tuiles .bb-tuile-grande{ justify-content:center; }
/* 05 · rubrique, en-têtes de page, pages annexes en panneaux, équipe, auteur, contact, annuaire */

@media (max-width:960px){
	.bb-outil__grille{ grid-template-columns:minmax(0,1fr); }
	.bb-outil__form{ order:-1; }
}
@media (max-width:520px){
	.bb-outil__form{ padding:20px 16px 18px; gap:18px; }
	.bb-outil__verdict{ font-size:22px; }
}

/* ---- rubrique : bandeau photo, bord bas taillé en marches, carte à cheval ---- */
.bb-rubrique{ position:relative; background:var(--lin); }
.bb-rubrique__bandeau{
	position:relative; height:clamp(200px,25vw,340px); background:var(--sauge);
	clip-path:polygon(0 0, 100% 0, 100% calc(100% - 96px), 85% calc(100% - 96px), 85% calc(100% - 72px), 70% calc(100% - 72px), 70% calc(100% - 48px), 55% calc(100% - 48px), 55% calc(100% - 24px), 40% calc(100% - 24px), 40% 100%, 0 100%);
}
.bb-rubrique__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bb-rubrique__carte{
	position:relative; margin-top:-84px; max-width:780px; padding:28px 34px 26px; background:#fff; border-radius:var(--r-carte); box-shadow:var(--ombre);
}
.bb-rubrique__carte::before{ content:""; position:absolute; left:34px; top:-4px; width:84px; height:9px; border-radius:5px; background:var(--laiton); }
.bb-rubrique__titre{ margin:6px 0 10px; }
.bb-rubrique__chapo{ margin:0 0 14px; font-size:19px; line-height:1.55; color:var(--doux); max-width:60ch; }
.bb-rubrique__compteur{ display:inline-flex; align-items:baseline; gap:8px; margin:0; padding:6px 16px; border-radius:999px; background:var(--sauge); font:700 17px/1.2 var(--t-texte); color:var(--ardoise); }
.bb-rubrique__compteur b{ font:700 24px/1 var(--t-titre); color:var(--sapin); }
@media (max-width:640px){
	.bb-rubrique__carte{ margin-top:-60px; padding:22px 20px 20px; }
	.bb-rubrique__carte::before{ left:20px; }
	.bb-rubrique__bandeau{ clip-path:polygon(0 0, 100% 0, 100% calc(100% - 64px), 85% calc(100% - 64px), 85% calc(100% - 48px), 70% calc(100% - 48px), 70% calc(100% - 32px), 55% calc(100% - 32px), 55% calc(100% - 16px), 40% calc(100% - 16px), 40% 100%, 0 100%); }
}
.bb-grille--liste{ margin-top:8px; }

/* ---- en-tête de page (Sauge) ---- */
.bb-entete-page{ padding:30px 0 44px; }
.bb-entete-page--sauge{ background:var(--sauge); border-bottom:1px solid var(--filet); }
.bb-entete-page__in{ position:relative; }
.bb-entete-page .sbt-fil-ariane{ padding-block:0 14px; }
.bb-entete-page .bb-h1{ max-width:24em; }
.bb-entete-page .bb-recherche-dep, .bb-recherche{ max-width:640px; margin-top:22px; }
.bb-recherche{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; }
.bb-recherche .bb-champ input{ height:60px; }
.bb-recherche-dep--grande{ grid-template-columns:minmax(0,1fr) auto; align-items:start; }
.bb-recherche-dep--grande .bb-recherche-dep__msg{ grid-column:1 / -1; }
@media (max-width:640px){ .bb-recherche, .bb-recherche-dep--grande{ grid-template-columns:minmax(0,1fr); } }

.sbt-fil-ariane{ display:flex; flex-wrap:wrap; gap:6px; padding-block:14px; font-size:15px; color:var(--doux); }
.sbt-fil-ariane a{ color:var(--doux); text-decoration:none; }
.sbt-fil-ariane a:hover{ color:var(--ardoise); text-decoration:underline; }

/* ---- pages annexes : panneaux et blocs, jamais un mur de texte ---- */
.bb-page__grille{ display:grid; grid-template-columns:minmax(0,1fr); gap:32px; align-items:start; }
.bb-page__grille--toc{ grid-template-columns:260px minmax(0,1fr); gap:40px; }
.bb-page__toc{ position:sticky; top:96px; background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); padding:20px 22px; }
.bb-page__toc-titre{ margin:0 0 10px; font:700 18px/1.2 var(--t-titre); color:var(--ardoise); }
.bb-page__toc ol{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.bb-page__toc a{ display:block; padding:9px 10px; border-radius:10px; font-size:16px; line-height:1.35; color:var(--texte); text-decoration:none; }
.bb-page__toc a:hover{ background:var(--sauge); color:var(--ardoise); }
.bb-page__panneaux{ display:grid; gap:22px; min-width:0; }
.bb-page__panneaux--seul{ margin-top:40px; max-width:860px; margin-inline:auto; }
.bb-panneau{ background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); padding:26px 30px 28px; scroll-margin-top:96px; min-width:0; }
.bb-panneau--intro{ background:var(--ardoise); border-color:transparent; color:#fff; }
.bb-panneau--intro a{ color:#fff; }
.bb-panneau--intro p{ font-size:20px; }
.bb-panneau__tete{ display:flex; align-items:center; gap:14px; margin-bottom:14px; padding-bottom:14px; border-bottom:4px solid var(--sauge); }
.bb-panneau__tete h2{ font-size:clamp(22px,2vw,28px); line-height:1.2; }
.bb-panneau__icone{ flex:none; width:52px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:14px; background:var(--sauge); color:var(--sapin); }
.bb-panneau__corps{ font-size:18px; line-height:1.65; max-width:72ch; }
.bb-panneau__corps > :last-child{ margin-bottom:0; }
.bb-panneau__corps h3{ margin:1.4em 0 .4em; font-size:21px; }
.bb-panneau__corps ul, .bb-panneau__corps ol{ padding-left:0; list-style:none; display:grid; gap:8px; margin:0 0 1em; }
.bb-panneau__corps li{ position:relative; padding-left:34px; }
.bb-panneau__corps ul li::before{ content:""; position:absolute; left:2px; top:.5em; width:18px; height:18px; border-radius:50%; background:var(--laiton) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E2B45' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.bb-panneau__corps ol{ counter-reset:bb; }
.bb-panneau__corps ol li{ counter-increment:bb; }
.bb-panneau__corps ol li::before{ content:counter(bb); position:absolute; left:0; top:.1em; width:26px; height:26px; border-radius:50%; background:var(--ardoise); color:#fff; font:700 15px/26px var(--t-texte); text-align:center; }
.bb-panneau__corps .sbt-faq{ margin:1em 0; padding:0; background:transparent; border:0; }
.bb-credits{ font-size:16px; }
.bb-credits li{ padding-left:0 !important; }
.bb-credits li::before{ display:none !important; }
@media (max-width:900px){ .bb-page__grille--toc{ grid-template-columns:minmax(0,1fr); } .bb-page__toc{ position:static; } .bb-panneau{ padding:22px 20px; } }

/* ---- équipe ---- */
.bb-equipe{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.bb-equipe__carte{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:26px; align-items:start; padding:30px; background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); }
.bb-equipe__nom{ font-size:28px; line-height:1.15; }
.bb-equipe__role{ margin:6px 0 14px; font:700 17px/1.35 var(--t-texte); color:var(--sapin); }
.bb-equipe__bio{ font-size:18px; line-height:1.6; color:var(--texte); }
.bb-equipe__actions{ margin:0; }
.bb-equipe__pied{ margin:36px 0 0; text-align:center; }
@media (max-width:1100px){ .bb-equipe{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px){ .bb-equipe__carte{ grid-template-columns:minmax(0,1fr); padding:24px 20px; text-align:center; } .bb-equipe__carte .bb-portrait--grand{ width:160px; height:160px; } }

/* ---- auteur ---- */
.bb-auteur-page__in{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:34px; align-items:center; }
.bb-auteur-page__role{ margin:0 0 12px; font:700 19px/1.3 var(--t-texte); color:var(--sapin); }
@media (max-width:700px){ .bb-auteur-page__in{ grid-template-columns:minmax(0,1fr); } .bb-auteur-page .bb-portrait--grand{ width:140px; height:140px; margin-inline:0; } }

/* ---- contact : formulaire compact, entier dans 390 × 700 ---- */
.bb-contact{ padding:36px 0 56px; }
.bb-contact__grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:clamp(28px,5vw,72px); align-items:start; }
.bb-contact__aide{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:14px; }
.bb-contact__aide li{ display:flex; gap:14px; align-items:flex-start; font-size:17px; line-height:1.5; }
.bb-contact__aide .bb-picto{ flex:none; color:var(--sapin); margin-top:2px; }
.bb-contact__form{ display:grid; gap:12px; padding:24px; background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); }
.bb-contact__form .bb-champ input, .bb-contact__form .bb-champ select{ height:58px; }
.bb-contact__retour{ margin:0; font-weight:700; }
.bb-contact__retour:empty{ display:none; }
.bb-contact__retour.est-erreur{ color:#8A1C14; }
.bb-contact__retour.est-ok{ color:var(--sapin); }
@media (max-width:900px){
	.bb-contact{ padding:12px 0 24px; }
	.bb-contact__grille{ grid-template-columns:minmax(0,1fr); gap:10px; }
	.bb-contact__intro .bb-h1{ font-size:27px; margin-bottom:2px; }
	.bb-contact__intro .bb-sec__chapo{ display:none; }
	.bb-contact__aide{ display:none; }
	.bb-contact__form{ gap:8px; padding:14px; box-shadow:none; }
	.bb-contact__form .bb-champ input, .bb-contact__form .bb-champ select{ height:54px; padding-top:24px; }
	.bb-contact__form .bb-champ textarea{ min-height:80px; padding-top:26px; }
	.bb-contact__form .bb-case{ font-size:15px; line-height:1.3; }
	.bb-contact__form .bb-btn{ min-height:54px; }
}

/* ---- annuaire : carte de France en grille de régions ---- */
.bb-france{
	display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; max-width:860px; margin-inline:auto;
	grid-template-areas:". nor hdf ges ." "bre pdl idf ges ." ". naq cvl bfc ." ". naq ara ara ." ". occ occ paca cor";
}
.bb-france__tuile{
	display:flex; flex-direction:column; justify-content:center; gap:2px; min-height:84px; padding:10px 12px; background:#fff; border:2px solid var(--filet-fort);
	border-radius:14px; color:var(--ardoise); text-decoration:none; transition:border-color .2s, background .2s, transform .2s;
}
.bb-france__tuile:hover{ border-color:var(--sapin); background:var(--sauge); color:var(--ardoise); transform:translateY(-2px); }
.bb-france__nom{ font:700 16px/1.2 var(--t-texte); }
.bb-france__n{ font-size:15px; line-height:1.2; color:var(--doux); }
.bb-france__tuile[data-zone="nor"]{ grid-area:nor; } .bb-france__tuile[data-zone="hdf"]{ grid-area:hdf; } .bb-france__tuile[data-zone="ges"]{ grid-area:ges; }
.bb-france__tuile[data-zone="bre"]{ grid-area:bre; } .bb-france__tuile[data-zone="pdl"]{ grid-area:pdl; } .bb-france__tuile[data-zone="idf"]{ grid-area:idf; }
.bb-france__tuile[data-zone="naq"]{ grid-area:naq; } .bb-france__tuile[data-zone="cvl"]{ grid-area:cvl; } .bb-france__tuile[data-zone="bfc"]{ grid-area:bfc; }
.bb-france__tuile[data-zone="ara"]{ grid-area:ara; } .bb-france__tuile[data-zone="occ"]{ grid-area:occ; } .bb-france__tuile[data-zone="paca"]{ grid-area:paca; }
.bb-france__tuile[data-zone="cor"]{ grid-area:cor; }
.bb-france__om-titre{ margin:28px 0 8px; font:700 18px/1.2 var(--t-titre); text-align:center; }
.bb-france__om{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
@media (max-width:720px){
	.bb-france{ grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:none; }
	.bb-france__tuile[data-zone]{ grid-area:auto; }
}
.bb-pills{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.bb-pill{
	display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:6px 16px; border-radius:999px; background:#fff; color:var(--ardoise);
	border:2px solid var(--filet-fort); font:700 16px/1.2 var(--t-texte); text-decoration:none; cursor:pointer;
}
.bb-pill b{ color:var(--sapin); }
.bb-pill:hover{ border-color:var(--sapin); background:var(--sauge); color:var(--ardoise); }
.bb-pill--btn.is-on{ background:var(--ardoise); border-color:var(--ardoise); color:#fff; }
.bb-regions-liste{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 40px; align-items:start; }
.bb-regions-liste__bloc{ scroll-margin-top:96px; }
.bb-regions-liste__bloc h3{ display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:22px; }
.bb-regions-liste__bloc h3 span{ font:700 15px/1 var(--t-texte); background:var(--sauge); border-radius:999px; padding:5px 10px; color:var(--ardoise); }
@media (max-width:900px){ .bb-regions-liste{ grid-template-columns:minmax(0,1fr); } }
.bb-appel{ display:flex; align-items:center; justify-content:space-between; gap:24px 40px; flex-wrap:wrap; }

/* ---- annuaire : département ---- */
.bb-dep__grille{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:var(--sb-gouttiere); align-items:start; }
.bb-filtres{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.bb-pros{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.bb-pro{ display:flex; flex-direction:column; gap:12px; padding:22px; background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); min-width:0; }
.bb-pro__nom{ font:600 20px/1.25 var(--t-titre); margin:0; overflow-wrap:anywhere; }
.bb-pro__nom a{ color:var(--ardoise); text-decoration:none; }
.bb-pro__nom a:hover{ text-decoration:underline; }
.bb-pro__ville{ display:flex; align-items:center; gap:8px; margin:6px 0 0; font-size:16px; color:var(--doux); }
.bb-pro__ville .bb-picto{ flex:none; color:var(--sapin); }
.bb-pro__cats{ display:flex; flex-wrap:wrap; gap:6px; margin:0; }
.bb-entete-page .bb-pro__cats{ margin-top:14px; }
.bb-pro__infos{ margin:0; display:grid; gap:8px; }
.bb-pro__infos > div{ display:grid; grid-template-columns:140px minmax(0,1fr); gap:10px; font-size:16px; line-height:1.4; }
.bb-pro__infos dt{ color:var(--doux); }
.bb-pro__infos dd{ margin:0; color:var(--texte); }
.bb-pro__pied{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:4px 0 0; flex-wrap:wrap; }
.bb-pro__source{ font-size:15px; color:var(--doux); }
.bb-dep__aucun{ padding:20px; background:#fff; border-radius:var(--r-carte); border:1px solid var(--filet); }
@media (max-width:1100px){ .bb-dep__grille{ grid-template-columns:minmax(0,1fr); } .bb-dep__devis{ order:-1; } .bb-carte-projet--collante{ position:static; } }
@media (max-width:760px){ .bb-pros{ grid-template-columns:minmax(0,1fr); } .bb-pro__infos > div{ grid-template-columns:minmax(0,1fr); gap:0; } }

/* ---- annuaire : fiche ---- */
.bb-fiche{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:var(--sb-gouttiere); align-items:start; }
.bb-fiche__principal{ display:grid; gap:22px; min-width:0; }
.bb-fiche__dl{ margin:0; display:grid; gap:0; }
.bb-fiche__dl > div{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:14px; padding:12px 0; border-bottom:1px solid var(--filet); font-size:17px; line-height:1.45; }
.bb-fiche__dl > div:last-child{ border-bottom:0; }
.bb-fiche__dl dt{ color:var(--doux); }
.bb-fiche__dl dd{ margin:0; overflow-wrap:anywhere; }
.bb-fiche__source{ margin:14px 0 0; font-size:15px; color:var(--doux); }
.bb-fiche__rail{ display:grid; gap:20px; align-self:start; position:sticky; top:96px; }
.bb-fiche__rail .bb-carte-projet--collante{ position:static; }
.bb-fiche__retrait{ padding:20px 22px; background:#fff; border:1px solid var(--filet); border-radius:var(--r-carte); }
.bb-fiche__retrait p{ margin:0 0 8px; font-size:16px; line-height:1.5; }
.bb-fiche__retrait-titre{ font:700 18px/1.3 var(--t-titre); color:var(--ardoise); }
@media (max-width:1100px){ .bb-fiche{ grid-template-columns:minmax(0,1fr); } .bb-fiche__rail{ position:static; } }
@media (max-width:640px){ .bb-fiche__dl > div{ grid-template-columns:minmax(0,1fr); gap:2px; } }

/* ---- 404 ---- */
.bb-404{ text-align:center; }
.bb-404__code{ margin:0; font:700 clamp(80px,14vw,160px)/1 var(--t-titre); color:var(--sauge); -webkit-text-stroke:3px var(--laiton); }
.bb-404 .bb-recherche{ margin-inline:auto; text-align:left; }
.bb-404 .bb-grille{ margin:28px 0; }

/* ---------- À propos (page-a-propos.php, 29/10) ---------- */
.bb-apropos-tete{ background:var(--sauge); border-bottom:1px solid var(--filet); padding:28px 0 0; overflow:hidden; }
.bb-apropos-tete__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:clamp(28px,4vw,64px); align-items:end; }
.bb-apropos-tete__texte{ padding-bottom:clamp(36px,4vw,56px); }
.bb-apropos-tete .bb-h1{ max-width:13em; }
.bb-apropos-tete .bb-h1 em{ font-style:normal; color:var(--sapin); }
.bb-apropos-tete__chapo{ font-size:clamp(17px,1.3vw,19px); line-height:1.65; color:var(--texte); max-width:36em; margin-top:18px; }
.bb-apropos-tete__photo{ position:relative; margin:0; align-self:stretch; min-height:340px; max-height:440px; border-radius:var(--r-photo) var(--r-photo) 0 0; overflow:hidden; box-shadow:var(--ombre);
	clip-path:polygon(0 18%, 14% 18%, 14% 12%, 28% 12%, 28% 6%, 42% 6%, 42% 0, 100% 0, 100% 100%, 0 100%); }
.bb-apropos-tete__photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.bb-apropos-tete__photo figcaption{ position:absolute; right:12px; bottom:12px; background:rgba(255,255,255,.92); color:var(--ardoise); font-size:13px; padding:4px 10px; border-radius:999px; }
.bb-apropos-reperes__grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.bb-apropos-repere{ background:var(--blanc); border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); padding:26px 28px; border-top:6px solid var(--laiton); }
.bb-apropos-repere__n{ font-family:var(--t-texte); font-weight:700; font-size:clamp(34px,3.2vw,46px); line-height:1; color:var(--ardoise); font-variant-numeric:tabular-nums; margin:0; }
.bb-apropos-repere__l{ font-weight:700; color:var(--sapin); margin:8px 0 6px; }
.bb-apropos-repere__d{ color:var(--doux); font-size:15px; line-height:1.55; margin:0; }
.bb-apropos-engag .bb-h2{ margin-bottom:24px; }
.bb-apropos-engag__grille{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; align-items:stretch; }
.bb-apropos-engag__carte{ background:var(--blanc); border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); padding:24px 22px; transition:transform .2s ease, box-shadow .2s ease; }
.bb-apropos-engag__carte:hover{ transform:translateY(-2px); }
.bb-apropos-engag__icone{ display:inline-flex; width:52px; height:52px; align-items:center; justify-content:center; border-radius:14px; background:var(--sauge); color:var(--sapin); margin-bottom:14px; }
.bb-apropos-engag__carte h3{ font-family:var(--t-titre); font-size:19px; line-height:1.3; color:var(--ardoise); margin:0 0 8px; }
.bb-apropos-engag__carte p{ color:var(--texte); font-size:15.5px; line-height:1.6; margin:0; }
.bb-apropos-equipe__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:center; }
.bb-apropos-equipe__texte p{ font-size:17px; line-height:1.65; margin:14px 0 0; }
.bb-apropos-equipe__liens{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin-top:22px !important; }
.bb-apropos-equipe__cartes{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.bb-apropos-auteur{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; background:var(--blanc); border:1px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--ombre); padding:26px 18px; color:var(--texte); text-decoration:none; transition:transform .2s ease; }
.bb-apropos-auteur:hover{ transform:translateY(-2px); }
.bb-apropos-auteur .bb-portrait{ border:3px solid var(--laiton); margin-bottom:6px; }
.bb-apropos-auteur__nom{ font-family:var(--t-titre); font-weight:700; font-size:19px; color:var(--ardoise); }
.bb-apropos-auteur__role{ font-size:14.5px; color:var(--doux); line-height:1.45; }
@media (max-width:1100px){ .bb-apropos-engag__grille{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px){
	.bb-apropos-tete__in, .bb-apropos-equipe__in{ grid-template-columns:minmax(0,1fr); }
	.bb-apropos-tete__texte{ padding-bottom:0; }
	.bb-apropos-tete__photo{ min-height:220px; max-height:260px; }
	.bb-apropos-reperes__grille{ grid-template-columns:minmax(0,1fr); gap:14px; }
}
@media (max-width:560px){
	.bb-apropos-engag__grille{ grid-template-columns:minmax(0,1fr); }
	.bb-apropos-repere{ padding:20px 22px; }
	.bb-apropos-equipe__cartes{ gap:12px; }
	.bb-apropos-auteur{ padding:20px 12px; }
}
@media (prefers-reduced-motion:reduce){ .bb-apropos-engag__carte, .bb-apropos-auteur{ transition:none; } }
/* Pages département : même en-tête à photo en marches que l'À propos, plus bas (la liste reste dans le premier écran). */
.bb-dep-tete .bb-apropos-tete__photo{ min-height:280px; max-height:320px; }
.bb-dep-tete .bb-apropos-tete__texte{ padding-bottom:clamp(28px,3vw,40px); }
.bb-dep-tete .bb-sec__chapo{ margin-top:14px; }
@media (max-width:900px){ .bb-dep-tete .bb-apropos-tete__photo{ min-height:160px; max-height:180px; } }
/* 06 · article : blocs figés (single, rail, sommaire, encadrés, FAQ, auteur) habillés « La main courante » */

/* ---- en-tête « palier » : bande Sauge, photo au coin taillé en 3 marches, main courante sous le titre ---- */
.sbt-article-entete.bb-palier{ max-width:none; margin:0; padding:0; background:var(--sauge); border-bottom:1px solid var(--filet); }
.bb-palier__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,480px); gap:var(--sb-gouttiere); align-items:center; padding-block:14px 48px; }
.bb-palier__texte{ min-width:0; }
.bb-palier .sbt-fil-ariane{ padding-block:8px 16px; }
.sbt-article-pastille{ margin:0; }
.bb-palier h1{ margin:16px 0 0; font-size:clamp(30px,3.4vw,48px); line-height:1.15; letter-spacing:-.005em; }
.bb-palier__rail{ display:block; height:9px; margin:24px calc(-1 * var(--sb-gouttiere)) 22px 0; border-radius:5px; background:var(--laiton); }
.sbt-article-chapo{ margin:0; font-family:var(--t-texte); font-style:normal; font-size:clamp(18px,1.5vw,21px); line-height:1.55; color:var(--texte); max-width:38em; }
.sbt-article-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin-top:20px; font-size:16px; color:var(--doux); }
.sbt-article-meta img{ width:44px; height:44px; border-radius:50%; object-fit:cover; background:#fff; box-shadow:0 0 0 3px var(--laiton); }
.sbt-article-meta-auteur{ color:var(--ardoise); font-weight:700; text-decoration:none; }
.sbt-article-meta-auteur:hover{ text-decoration:underline; }
.bb-palier__photo{
	position:relative; aspect-ratio:4/3; border-radius:var(--r-photo); overflow:hidden; background:#fff; min-width:0;
	clip-path:polygon(0 0, 70% 0, 70% 9%, 80% 9%, 80% 18%, 90% 18%, 90% 27%, 100% 27%, 100% 100%, 0 100%);
}
.bb-palier__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.bb-palier__etiquette{ position:absolute; left:16px; bottom:16px; max-width:calc(100% - 32px); overflow:hidden; text-overflow:ellipsis; }
@media (max-width:900px){
	.bb-palier__in{ grid-template-columns:minmax(0,1fr); gap:22px; padding-bottom:34px; }
	.bb-palier__rail{ margin-right:0; }
	.bb-palier__photo{ aspect-ratio:16/9; }
}

/* ---- grille corps + rail : minmax(0,1fr) 340px, gouttière 44 px, jamais space-between ---- */
.sbt-article-mise-en-page{
	display:grid; grid-template-columns:minmax(0,1fr) var(--sb-rail); column-gap:var(--sb-gouttiere); row-gap:var(--sb-gouttiere);
	max-width:calc(var(--sb-conteneur) + 2 * var(--sb-gouttiere)); margin-inline:auto; padding:40px var(--sb-gouttiere) 64px;
	align-items:start; justify-content:start;
}
@media (max-width:1080px){
	.sbt-article-mise-en-page{ grid-template-columns:minmax(0,1fr); padding-top:28px; padding-bottom:40px; }
	.sbt-article-principal, .sbt-rail{ min-width:0; }
}
.sbt-article-principal{ min-width:0; padding:clamp(22px,3.6vw,48px); background:#fff; border:1px solid var(--filet); border-radius:var(--r-photo); box-shadow:var(--ombre); }

/* ---- corps de texte : 18 px / 1,65, lignes ≤ 72 caractères ---- */
.sbt-article-corps{ font:400 18px/1.65 var(--t-texte); color:var(--texte); max-width:72ch; margin-inline:auto; }
.sbt-article-corps > *:first-child{ margin-top:0; }
.sbt-article-corps h2{ margin:2em 0 .6em; font-size:clamp(25px,2.2vw,32px); line-height:1.2; }
.sbt-article-corps h2::before{ content:""; display:block; width:56px; height:8px; margin-bottom:14px; border-radius:5px; background:var(--laiton); }
.sbt-article-corps h3{ margin:1.7em 0 .45em; font:600 clamp(20px,1.7vw,23px)/1.28 var(--t-titre); }
.sbt-article-corps p{ margin:0 0 1.3em; }
.sbt-article-corps a{ color:var(--sapin); }
.sbt-article-corps strong{ color:var(--ardoise); }
.sbt-article-corps img{ border-radius:var(--r-photo); margin-block:1.6em; width:100%; height:auto; }
.sbt-article-corps figure{ margin:1.6em 0; }
.sbt-article-corps figcaption{ margin-top:-.8em; font-size:15px; color:var(--doux); }
.sbt-article-corps blockquote{
	margin:1.8em 0; padding:20px 26px; border-left:8px solid var(--laiton); background:var(--sauge); border-radius:0 var(--r-carte) var(--r-carte) 0;
	font-style:normal; font-size:19px; color:var(--ardoise);
}
.sbt-article-corps blockquote p:last-child{ margin-bottom:0; }
/* listes : jamais de puces brutes — pastilles laiton et numéros */
.sbt-article-corps ul, .sbt-article-corps ol{ list-style:none; margin:0 0 1.4em; padding:0; display:grid; gap:10px; }
.sbt-article-corps li{ position:relative; padding-left:36px; }
.sbt-article-corps ul > li::before{
	content:""; position:absolute; left:2px; top:.45em; width:20px; height:20px; border-radius:50%;
	background:var(--laiton) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E2B45' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat;
}
.sbt-article-corps ol{ counter-reset:bbn; }
.sbt-article-corps ol > li{ counter-increment:bbn; }
.sbt-article-corps ol > li::before{ content:counter(bbn); position:absolute; left:0; top:.15em; width:28px; height:28px; border-radius:50%; background:var(--ardoise); color:#fff; font:700 15px/28px var(--t-texte); text-align:center; }
/* tableaux : défilables, lisibles */
.sbs_tableau{ overflow-x:auto; margin:1.8em 0; border:1px solid var(--filet); border-radius:var(--r-carte); -webkit-overflow-scrolling:touch; }
.sbs_tableau table{ width:100%; min-width:520px; border-collapse:collapse; font-size:16.5px; line-height:1.45; }
.sbs_tableau th{ background:var(--ardoise); color:#fff; text-align:left; font-weight:700; padding:13px 16px; }
.sbs_tableau td{ padding:12px 16px; border-top:1px solid var(--filet); vertical-align:top; }
.sbs_tableau tbody tr:nth-child(even) td{ background:var(--lin); }
.sbs_tableau td:first-child{ font-weight:700; color:var(--ardoise); }

/* ---- rail collant : sommaire + mini-formulaire, UN SEUL bloc ----
   ⛔ jamais de overflow-y ni de max-height sur le rail : il accompagne toute la lecture. */
.sbt-rail{
	position:sticky; top:96px; align-self:start; display:flex; flex-direction:column; gap:0; padding:0; border:1px solid var(--filet);
	background:#fff; border-radius:var(--r-carte); box-shadow:var(--ombre);
}
.sbt-rail-carte{ background:transparent; border:0; border-radius:0; padding:20px 22px; }
.sbt-rail-carte--sommaire{ padding-bottom:16px; }
.bb-rail-projet{ background:var(--sauge); border-top:1px solid var(--filet); border-radius:0 0 var(--r-carte) var(--r-carte); }
.sbt-rail > .sbt-rail-carte:first-child:not(.bb-rail-projet){ border-radius:var(--r-carte) var(--r-carte) 0 0; }
.sbt-rail > .bb-rail-projet:first-child{ border-top:0; border-radius:var(--r-carte); }
.bb-rail-titre{ margin:0 0 4px; font:700 20px/1.25 var(--t-titre); color:var(--ardoise); }
.bb-rail-sous{ margin:0 0 12px; font-size:16px; line-height:1.4; color:var(--doux); }
.bb-rail-tuiles{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.bb-rail-tuiles .bb-tuile-mini{ min-height:68px; font-size:15.5px; padding:6px; }
@media (max-width:1080px){
	.sbt-rail{ position:static; margin-top:0; }
	.sbt-rail-carte--sommaire{ display:none; }
	.bb-rail-tuiles{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:640px){ .bb-rail-tuiles{ grid-template-columns:1fr 1fr; } }

/* ---- sommaire ---- */
.sbt-sommaire{ background:transparent; border:0; border-radius:0; padding:0; }
.sbt-sommaire-titre{ display:flex; align-items:center; justify-content:space-between; min-height:30px; font:700 20px/1.25 var(--t-titre); color:var(--ardoise); cursor:pointer; list-style:none; }
.sbt-sommaire-titre::-webkit-details-marker{ display:none; }
.sbt-sommaire ol{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:2px; }
.sbt-sommaire li{ padding:0; }
.sbt-sommaire li::before{ display:none; }
.sbt-sommaire li a{ display:flex; align-items:center; gap:10px; min-width:0; min-height:36px; padding:4px 8px; margin-inline:-8px; border-radius:10px; font-size:16px; line-height:1.3; color:var(--texte); text-decoration:none; }
.sbt-sommaire li a:hover{ background:var(--sauge); color:var(--ardoise); text-decoration:none; }
.sbt-sommaire li a.is-actif{ background:var(--sauge); color:var(--ardoise); font-weight:700; box-shadow:inset 4px 0 0 var(--laiton); }
.sbt-sommaire-num{ flex:none; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--sauge); color:var(--ardoise); font:700 13px/1 var(--t-texte); }
.sbt-sommaire li a.is-actif .sbt-sommaire-num{ background:var(--ardoise); color:#fff; }
.sbt-sommaire-libelle{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sbt-sommaire-mobile{ display:none; }
@media (max-width:1080px){
	.sbt-sommaire-mobile{ display:block; margin-bottom:24px; }
	.sbt-sommaire-mobile .sbt-sommaire{ padding:14px 18px; background:var(--sauge); border-radius:var(--r-carte); }
	.sbt-sommaire-mobile .sbt-sommaire-libelle{ white-space:normal; }
	.sbt-sommaire-mobile .sbt-sommaire li a:hover{ background:#fff; }
	.sbt-sommaire-mobile .sbt-sommaire-num{ background:#fff; }
}

/* ---- encadrés : points à retenir, le saviez-vous ---- */
.sbt-encadre{ margin-block:2em; border-radius:var(--r-photo); max-width:none; }
.sbt-encadre-titre{ margin:0 0 12px; font:700 20px/1.25 var(--t-titre); text-transform:none; letter-spacing:0; }
.sbt-encadre--retenir{ background:var(--ardoise); color:#fff; padding:28px 30px; }
.sbt-encadre--retenir .sbt-encadre-titre{ color:var(--laiton); }
.sbt-retenir-liste, .sbt-article-corps .sbt-retenir-liste{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.sbt-retenir-liste li, .sbt-article-corps .sbt-retenir-liste li{ position:relative; margin:0; padding-left:38px; text-indent:0; font-size:17.5px; line-height:1.55; color:#fff; counter-increment:none; }
.sbt-retenir-liste li::before, .sbt-article-corps .sbt-retenir-liste li::before{
	content:""; position:absolute; left:0; top:.15em; width:26px; height:26px; border-radius:50%; font-size:0;
	background:var(--laiton) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E2B45' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 15px no-repeat;
}
.sbt-encadre--saviez{ display:grid; grid-template-columns:52px minmax(0,1fr); gap:6px 16px; align-items:start; padding:22px 26px; background:var(--sauge); border-left:8px solid var(--laiton); border-radius:0 var(--r-photo) var(--r-photo) 0; }
.sbt-encadre--saviez::before{
	content:"?"; grid-row:1 / span 2; width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
	background:var(--sapin); color:#fff; font:700 26px/1 var(--t-titre);
}
.sbt-encadre--saviez .sbt-encadre-titre{ grid-column:2; margin:0; color:var(--ardoise); }
.sbt-encadre--saviez p:not(.sbt-encadre-titre){ grid-column:2; margin:0; font-size:18px; line-height:1.55; color:var(--ardoise); }
@media (max-width:620px){
	.sbt-encadre--saviez{ grid-template-columns:minmax(0,1fr); padding:20px; }
	.sbt-encadre--saviez::before{ grid-row:1; }
	.sbt-encadre--saviez .sbt-encadre-titre, .sbt-encadre--saviez p:not(.sbt-encadre-titre){ grid-column:1; }
	.sbt-encadre--retenir{ padding:22px 20px; }
}

/* ---- sources en carte ---- */
.bb-sources{ margin:2.4em 0 0; padding:26px 28px; background:var(--lin); border:1px solid var(--filet); border-radius:var(--r-carte); }
.sbt-article-corps .bb-sources h2{ margin:0 0 .6em; font-size:22px; }
.sbt-article-corps .bb-sources h2::before{ width:40px; height:6px; margin-bottom:10px; }
.bb-sources ul, .bb-sources ol{ gap:8px; margin:0; font-size:16px; line-height:1.5; }
.bb-sources p{ font-size:16px; margin-bottom:.8em; }
.bb-sources li{ padding-left:30px; }

/* ---- FAQ en accordéon (natif details/summary) ---- */
.sbt-faq{ margin:2.6em 0; padding:26px; border-radius:var(--r-photo); background:var(--sauge); border:1px solid var(--filet); }
.sbt-faq-liste{ display:grid; gap:10px; }
.sbt-faq-liste details{ background:#fff; border:2px solid var(--filet) !important; border-radius:14px; padding:0 !important; transition:border-color .25s ease, box-shadow .25s ease; }
.sbt-faq-liste details[open]{ border-color:var(--sapin) !important; box-shadow:var(--ombre); }
.sbt-faq-liste summary{
	list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:60px; padding:14px 18px;
	font:700 18px/1.4 var(--t-texte); color:var(--ardoise);
}
.sbt-faq-liste summary::-webkit-details-marker{ display:none; }
.sbt-faq-liste summary::after{
	content:""; flex:none; width:34px; height:34px; border-radius:50%; transition:transform .3s ease;
	background:var(--sauge) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314615A' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.sbt-faq-liste details[open] summary::after{ transform:rotate(135deg); }
.sbt-faq-liste summary:hover{ color:var(--sapin); }
.sbt-faq-reponse{ padding:0 18px 18px; font-size:17px; line-height:1.65; color:var(--texte); }
.sbt-faq-reponse p{ margin:0 0 12px; }
.sbt-faq-reponse p:last-child{ margin-bottom:0; }
@media (max-width:760px){ .sbt-faq{ padding:16px; } }

/* ---- boîte auteur ---- */
.sbt-auteur{ display:grid; grid-template-columns:120px minmax(0,1fr); gap:26px; margin:2.6em 0 0; padding:28px; border-radius:var(--r-photo); background:var(--sauge); border:1px solid var(--filet); }
.sbt-auteur-photo img{ width:120px; height:120px; border-radius:50%; object-fit:cover; background:#fff; box-shadow:0 0 0 5px #fff, 0 0 0 9px var(--laiton); }
.sbt-auteur-sur{ margin:0 0 2px; font-size:15px; text-transform:none; letter-spacing:0; color:var(--doux); }
.sbt-auteur-nom{ margin:0 0 4px; font:700 24px/1.2 var(--t-titre); }
.sbt-auteur-nom a{ color:var(--ardoise); text-decoration:none; }
.sbt-auteur-nom a:hover{ text-decoration:underline; }
.sbt-auteur-role{ margin:0 0 12px; font:700 16px/1.4 var(--t-texte); color:var(--sapin); text-transform:none; letter-spacing:0; }
.sbt-auteur-bio{ margin:0 0 16px; font-size:17px; line-height:1.6; color:var(--texte); }
.sbt-auteur-chiffres{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.sbt-auteur-chiffres span{ background:#fff; border-radius:12px; padding:8px 12px; font-size:15px; color:var(--doux); }
.sbt-auteur-chiffres b{ color:var(--ardoise); margin-right:4px; }
.sbt-auteur-der{ margin-bottom:18px; }
.sbt-auteur-der p{ margin:0 0 6px; font-size:15px; text-transform:none; letter-spacing:0; color:var(--doux); }
.sbt-auteur-der a{ display:block; padding:8px 0; font-size:16px; font-weight:700; color:var(--ardoise); text-decoration:none; border-bottom:1px dashed var(--filet-fort); }
.sbt-auteur-der a:hover{ color:var(--sapin); }
.sbt-auteur-actions{ display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width:700px){ .sbt-auteur{ grid-template-columns:minmax(0,1fr); padding:22px 18px; } .sbt-auteur-photo img{ width:96px; height:96px; } }

/* ---- « À lire aussi » : section pleine largeur, 3 cartes photo ---- */
.bb-alire{ margin:0; padding:8px 0 72px; margin-top:0; border:0; }
.bb-alire .bb-h2{ margin-bottom:22px; }
@media (max-width:700px){ .bb-alire{ padding-bottom:44px; } }

/* ---- infographies du socle (shortcodes [sbs_…]) : éléments personnalisés stylés ici ---- */
sbs-lieu, sbs-tarifs, sbs-frise, sbs-jauges{ display:block; margin:2em 0; padding:22px 24px; background:var(--lin); border:1px solid var(--filet); border-radius:var(--r-carte); }
.sbs_tarifs_titre, .sbs_frise_titre, .sbs_jauges_titre, .sbs_lieu_nom{ display:block; margin-bottom:12px; font:700 21px/1.25 var(--t-titre); color:var(--ardoise); }
sbs-tarif{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; align-items:center; padding:12px 0; border-top:1px dashed var(--filet-fort); }
.sbs_tarif_libelle{ font-size:17px; color:var(--texte); }
.sbs_tarif_prix{ font:700 21px/1.1 var(--t-titre); color:var(--sapin); }
.sbs_tarif_barre{ grid-column:1 / -1; width:100%; height:10px; border:0; border-radius:5px; background:var(--sauge); }
.sbs_tarif_barre::-webkit-meter-bar{ background:var(--sauge); border:0; border-radius:5px; height:10px; }
.sbs_tarif_barre::-webkit-meter-optimum-value, .sbs_tarif_barre::-webkit-meter-suboptimum-value, .sbs_tarif_barre::-webkit-meter-even-less-good-value{ background:var(--sapin); border-radius:5px; }
.sbs_tarif_barre::-moz-meter-bar{ background:var(--sapin); border-radius:5px; }
.sbs_tarifs_notes, .sbs_source{ display:block; margin-top:12px; font-size:15px; color:var(--doux); }
sbs-frise{ padding-left:34px; border-left:8px solid var(--laiton); border-radius:4px 18px 18px 4px; }
sbs-etape{ position:relative; display:block; padding-bottom:18px; }
sbs-etape::before{ content:""; position:absolute; left:-47px; top:6px; width:18px; height:18px; border-radius:50%; background:var(--ardoise); box-shadow:0 0 0 4px var(--lin); }
.sbs_etape_date{ display:block; font:700 15px/1.3 var(--t-texte); color:var(--sapin); }
.sbs_etape_titre{ display:block; font:600 19px/1.3 var(--t-titre); color:var(--ardoise); }
.sbs_etape_desc{ display:block; font-size:16.5px; line-height:1.5; color:var(--doux); }
sbs-jauges{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
sbs-jauges > .sbs_jauges_titre, sbs-jauges > .sbs_source{ grid-column:1 / -1; margin:0; }
sbs-jauge{ display:flex; flex-direction:column; gap:2px; padding:16px; background:#fff; border-radius:14px; border:1px solid var(--filet); }
.sbs_jauge_valeur{ font:700 34px/1.1 var(--t-titre); color:var(--sapin); }
.sbs_jauge_libelle{ order:-1; font-size:15px; font-weight:700; color:var(--ardoise); }
.sbs_jauge_unite{ font-size:15px; color:var(--doux); }
.sbs_lieu_adresse{ display:block; font-style:normal; font-size:17px; margin-bottom:8px; }
.sbs_lieu_acces{ display:block; font-size:16px; color:var(--doux); }
.sbs_lieu_carte{ display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-weight:700; }
.sbs_icone_repere{ fill:var(--sapin); }
/* 07 · tunnel de demande de devis : PLEIN ÉCRAN SANS DÉFILEMENT (1440×780, 1920×950, 390×700, 360×640) */
body.bb-tunnel{ display:block; height:100vh; height:100dvh; overflow:hidden; background:var(--lin); }
.bb-t{ display:grid; grid-template-rows:60px minmax(0,1fr); height:100vh; height:100dvh; }
.bb-t__haut{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 clamp(16px,3vw,32px); background:#fff; border-bottom:1px solid var(--filet); }
.bb-marque--tunnel .bb-marque__logo{ width:36px; height:36px; border-radius:10px; }
.bb-marque--tunnel .bb-marque__nom{ font-size:21px; }
.bb-t__quitter{ display:inline-flex; align-items:center; min-height:44px; padding:0 16px; border-radius:999px; border:2px solid var(--filet-fort); color:var(--ardoise); font:700 16px/1 var(--t-texte); text-decoration:none; background:#fff; }
.bb-t__quitter:hover{ border-color:var(--ardoise); color:var(--ardoise); }
.bb-t__corps{ display:grid; grid-template-columns:minmax(0,40fr) minmax(0,60fr); min-height:0; }

/* gauche : photo de l'étape + main courante + « Ce que vous recevez » */
.bb-t__gauche{ position:relative; overflow:hidden; background:var(--ardoise); min-height:0; }
.bb-t__photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .45s ease; }
.bb-t__photo.is-on{ opacity:1; }
.bb-t__gauche::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(30,43,69,0) 38%, rgba(30,43,69,.82) 100%); pointer-events:none; }
.bb-t__rail{
	position:absolute; inset:0; z-index:1; background:var(--laiton); pointer-events:none;
	clip-path:polygon(calc(78% - 5px) -2%, calc(78% + 5px) -2%, calc(14% + 5px) 100%, calc(14% - 5px) 100%);
}
.bb-t__recu{ position:absolute; z-index:2; left:clamp(20px,3vw,40px); right:clamp(20px,3vw,40px); bottom:clamp(20px,4vh,40px); padding:20px 22px; background:#fff; border-radius:var(--r-carte); box-shadow:var(--ombre); }
.bb-t__recu-titre{ margin:0 0 10px; font:700 20px/1.2 var(--t-titre); color:var(--ardoise); }
.bb-t__recu ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.bb-t__recu li{ display:flex; gap:10px; align-items:flex-start; font-size:16px; line-height:1.4; color:var(--texte); }
.bb-t__recu .bb-picto{ flex:none; color:var(--sapin); margin-top:1px; }

/* droite : une question par étape */
.bb-t__droite{ display:flex; flex-direction:column; justify-content:center; min-height:0; padding:clamp(12px,3vh,36px) clamp(18px,4vw,64px); }
.bb-t__form{ width:100%; max-width:660px; margin-inline:auto; display:flex; flex-direction:column; }
.bb-t__progres{ display:flex; align-items:flex-end; gap:16px; margin-bottom:clamp(8px,2vh,22px); }
.bb-marches-prog{ display:flex; align-items:flex-end; gap:5px; width:150px; height:28px; flex:none; }
.bb-marches-prog i{ flex:1; background:#CAD6CE; border-radius:4px 4px 0 0; transition:background .3s; }
.bb-marches-prog i:nth-child(1){ height:9px; } .bb-marches-prog i:nth-child(2){ height:13px; } .bb-marches-prog i:nth-child(3){ height:17px; } .bb-marches-prog i:nth-child(4){ height:22px; } .bb-marches-prog i:nth-child(5){ height:28px; }
.bb-marches-prog i.est-fait{ background:var(--sapin); }
.bb-marches-prog i.est-courant{ background:var(--laiton); }
.bb-t__etape-num{ font:700 16px/1.2 var(--t-texte); color:var(--doux); }
.bb-t__etape-num b{ color:var(--ardoise); }
.bb-etape{ display:block; }
.bb-q{ margin:0 0 clamp(8px,2vh,16px); font:700 clamp(23px,2.6vw,34px)/1.2 var(--t-titre); color:var(--ardoise); outline:none; }
.bb-sous-q{ margin:clamp(8px,1.8vh,16px) 0 8px; font:700 17px/1.2 var(--t-texte); color:var(--doux); }
.bb-sous-q:first-of-type{ margin-top:0; }

/* grosses tuiles (≥ 64 px) */
.bb-tuiles{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bb-tuile{
	display:flex; align-items:center; gap:14px; min-height:76px; padding:12px 16px; text-align:left; cursor:pointer;
	background:#fff; border:2px solid var(--filet-fort); border-radius:16px; color:var(--ardoise); font:700 19px/1.25 var(--t-texte);
	transition:border-color .2s, background .2s, transform .15s;
}
.bb-tuile .bb-picto{ flex:none; color:var(--sapin); }
.bb-tuile:hover{ border-color:var(--sapin); background:var(--sauge); }
.bb-tuile[aria-pressed="true"]{ border-color:var(--sapin); background:var(--sauge); box-shadow:inset 0 0 0 2px var(--sapin); }
.bb-tuile:active{ transform:scale(.99); }
.bb-tuiles--grandes .bb-tuile{ min-height:92px; font-size:20px; }
.bb-tuiles--courtes .bb-tuile{ min-height:68px; justify-content:center; text-align:center; }
.bb-tuile--texte{ min-height:68px; }

/* pastilles de choix (statut, étages, délai) */
.bb-chips-t{ display:flex; flex-wrap:wrap; gap:10px; }
.bb-chip-t{
	min-height:60px; padding:0 22px; background:#fff; border:2px solid var(--filet-fort); border-radius:16px; color:var(--ardoise);
	font:700 18px/1.2 var(--t-texte); cursor:pointer; transition:border-color .2s, background .2s;
}
.bb-chip-t:hover{ border-color:var(--sapin); background:var(--sauge); }
.bb-chip-t[aria-pressed="true"]{ border-color:var(--sapin); background:var(--sauge); box-shadow:inset 0 0 0 2px var(--sapin); }

.bb-ligne{ display:grid; gap:12px; }
.bb-ligne--2-1{ grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
.bb-ligne--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.bb-cases{ display:grid; gap:10px; margin-top:clamp(8px,1.8vh,16px); }

/* actions : Retour + Continuer, ≥ 56 px */
.bb-actions{ display:flex; gap:12px; margin-top:clamp(12px,2.6vh,26px); }
.bb-actions .bb-btn{ min-height:58px; }
.bb-actions [data-suite]{ flex:1; }
.bb-actions [data-retour]{ flex:none; }
.bb-t__erreur{ position:fixed; z-index:20; left:50%; bottom:16px; transform:translateX(-50%); width:min(92vw,560px); margin:0; padding:14px 18px; background:#8A1C14; color:#fff; border-radius:14px; font:700 16px/1.4 var(--t-texte); box-shadow:0 18px 40px -16px rgba(0,0,0,.5); }
.bb-t__noscript{ padding:20px; }

/* merci */
.bb-merci__coche{ display:flex; align-items:center; justify-content:center; width:64px; height:64px; margin-bottom:10px; border-radius:50%; background:var(--sapin); color:#fff; }
.bb-merci__ref{ margin:0 0 10px; font-size:18px; }
.bb-merci__ref strong{ display:inline-block; padding:2px 12px; border-radius:999px; background:var(--laiton); color:var(--ardoise); font-size:19px; }
.bb-merci__suite{ list-style:none; margin:0 0 14px; padding:0; display:grid; gap:6px; }
.bb-merci__suite li{ position:relative; padding-left:30px; font-size:17px; line-height:1.4; }
.bb-merci__suite li::before{ content:""; position:absolute; left:0; top:.3em; width:18px; height:18px; border-radius:50%; background:var(--laiton); }
.bb-merci__liens{ display:flex; flex-wrap:wrap; gap:10px; }
.bb-merci__liens .bb-btn{ flex:1 1 240px; }

/* écran < 900 px : la photo disparaît, la question prend toute la place */
@media (max-width:899px){
	.bb-t__corps{ grid-template-columns:minmax(0,1fr); }
	.bb-t__gauche{ display:none; }
	.bb-t__droite{ justify-content:flex-start; padding-top:clamp(12px,2.4vh,26px); }
}
@media (max-width:640px){
	.bb-t{ grid-template-rows:52px minmax(0,1fr); }
	.bb-marque--tunnel .bb-marque__nom{ font-size:19px; }
	.bb-t__quitter{ min-height:40px; padding:0 14px; font-size:15px; }
	.bb-tuiles--liste, .bb-tuiles--courtes{ grid-template-columns:minmax(0,1fr); }
	.bb-tuiles--courtes{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.bb-ligne--3{ grid-template-columns:minmax(0,1fr); gap:8px; }
	.bb-ligne--2-1{ grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:8px; }
	.bb-tuiles--grandes .bb-tuile{ flex-direction:column; justify-content:center; text-align:center; gap:6px; min-height:96px; padding:10px 6px; font-size:17px; overflow-wrap:anywhere; }
	.bb-tuiles{ gap:10px; }
	.bb-actions{ gap:10px; }
	.bb-actions [data-retour]{ padding:0 20px; }
}

/* écrans courts (390×700, 360×640, 1440×780) : on resserre, jamais de défilement */
@media (max-height:760px){
	.bb-q{ font-size:clamp(22px,2.4vw,28px); }
	.bb-tuile{ min-height:64px; padding:8px 14px; font-size:18px; }
	.bb-tuiles--grandes .bb-tuile{ min-height:80px; }
	.bb-chip-t{ min-height:56px; }
	.bb-champ input, .bb-champ select{ height:58px; padding-top:24px; }
	.bb-t__recu{ padding:16px 18px; }
	.bb-t__recu li{ font-size:15px; }
}
@media (max-height:700px){
	.bb-t__droite{ padding-block:8px; }
	.bb-t__progres{ margin-bottom:6px; }
	.bb-q{ font-size:22px; margin-bottom:8px; }
	.bb-sous-q{ margin:8px 0 6px; font-size:16px; }
	.bb-tuile{ min-height:60px; padding:6px 12px; font-size:17px; gap:10px; }
	.bb-tuiles--grandes .bb-tuile{ min-height:84px; }
	.bb-tuile .bb-picto{ width:32px; height:32px; }
	.bb-chip-t{ min-height:56px; padding:0 16px; font-size:17px; }
	.bb-champ input, .bb-champ select{ height:56px; padding-top:23px; }
	.bb-champ > label{ top:6px; font-size:15px; }
	.bb-case{ font-size:15px; line-height:1.3; gap:10px; }
	.bb-case input{ width:24px; height:24px; }
	.bb-cases{ gap:6px; margin-top:8px; }
	.bb-actions{ margin-top:10px; }
	.bb-actions .bb-btn{ min-height:56px; }
	.bb-t__recu{ display:none; }
	.bb-merci__coche{ width:48px; height:48px; margin-bottom:4px; }
	.bb-merci__coche .bb-picto{ width:30px; height:30px; }
	.bb-merci__suite li{ font-size:16px; }
}
@media (max-height:640px){
	.bb-t{ grid-template-rows:48px minmax(0,1fr); }
	.bb-t__droite{ padding-block:6px; }
	.bb-tuiles--grandes .bb-tuile{ min-height:76px; }
	.bb-tuile--texte{ min-height:56px; }
	.bb-q{ font-size:21px; margin-bottom:6px; }
	.bb-champ input, .bb-champ select{ height:54px; padding-top:22px; }
	.bb-chip-t{ min-height:56px; }
	.bb-case{ font-size:14.5px; }
}
/* 08 · pied de page (bloc figé habillé) : Ardoise, main courante laiton en tête, 4 colonnes équilibrées */
.sbt-footer{ position:relative; margin-top:0; padding-block:clamp(44px,5vw,64px) 22px; background:var(--ardoise); color:#fff; }
.sbt-footer .bb-main-courante{ position:absolute; top:-5px; left:var(--sb-gouttiere); right:var(--sb-gouttiere); height:10px; }
.sbt-footer a{ color:#DCE3EC; text-decoration:none; }
.sbt-footer a:hover{ color:#fff; text-decoration:underline; }
.sbt-footer a.sbt-btn, .sbt-footer a.sbt-btn:hover{ color:var(--ardoise); text-decoration:none; }

.sbt-footer-cta{
	display:flex; align-items:center; justify-content:space-between; gap:20px 32px; flex-wrap:wrap; margin-bottom:34px; padding:26px 30px;
	background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:var(--r-carte);
}
.sbt-footer-cta .sbt-t3{ margin:0 0 4px; font:700 24px/1.25 var(--t-titre); color:#fff; }
.sbt-footer-cta p{ margin:0; max-width:48ch; color:#DCE3EC; font-size:17px; line-height:1.5; }
.sbt-footer-cta .sbt-btn{ min-height:56px; padding:0 30px; font-size:18px; background:#fff; color:var(--ardoise); }
.sbt-footer-cta .sbt-btn:hover{ background:var(--sauge); color:var(--ardoise); }
@media (max-width:600px){ .sbt-footer-cta{ padding:20px; } .sbt-footer-cta .sbt-btn{ width:100%; } }

.sbt-footer-grille{ display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:32px 40px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.18); }
@media (max-width:980px){ .sbt-footer-grille{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .sbt-footer-grille{ grid-template-columns:minmax(0,1fr); gap:26px; } }
.sbt-footer-colonne .sbt-t4{ margin:0 0 12px; font:700 19px/1.2 var(--t-titre); color:#fff; text-transform:none; letter-spacing:0; }
.sbt-footer-colonne ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.sbt-footer-colonne ul a{ display:flex; align-items:center; min-height:44px; font-size:17px; }
.sbt-footer-logo{ display:flex; align-items:center; gap:12px; margin-bottom:14px; font:700 24px/1 var(--t-titre); color:#fff; }
.sbt-footer-logo img{ width:40px; height:40px; border-radius:10px; }
.sbt-footer-desc{ margin:0; max-width:34ch; color:#DCE3EC; font-size:16.5px; line-height:1.55; }

.sbt-footer-bas{ display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; padding-top:20px; font-size:15px; line-height:1.5; color:#C9D3DF; }
.sbt-footer-bas > span:first-child{ max-width:70ch; }
.sbt-footer-legal{ display:flex; gap:6px 22px; flex-wrap:wrap; }
.sbt-footer-legal a{ display:inline-flex; align-items:center; min-height:44px; color:#fff; font-size:16px; }
/* Listes du corps d'article rendues en blocs (29/10) */
.bb-liste{list-style:none;margin:1.6rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.bb-liste>li{position:relative;margin:0;padding:16px 18px 16px 54px;background:#fff;border:1px solid #D5E0D9;border-radius:16px;box-shadow:0 10px 24px -18px rgba(30,43,69,.35);line-height:1.55}
.bb-liste--coches>li::before{content:"";position:absolute;left:16px;top:17px;width:24px;height:24px;border-radius:50%;background:#14615A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.bb-liste--etapes{counter-reset:bbetape}
.bb-liste--etapes>li{counter-increment:bbetape}
.bb-liste--etapes>li::before{content:counter(bbetape);position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:50%;background:#C9902F;color:#1E2B45;font:700 15px/28px 'Hepta Slab',Georgia,serif;text-align:center}
/* Tableaux d'article rendus en cartes comparatives (29/10) */
.bb-comparatif{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:1.8rem 0}
.bb-comparatif__carte{background:#fff;border:1px solid #D5E0D9;border-radius:18px;padding:18px 20px;box-shadow:0 14px 30px -20px rgba(30,43,69,.4);border-top:6px solid #C9902F}
.bb-comparatif__titre{font:700 19px/1.3 'Hepta Slab',Georgia,serif;color:#1E2B45;margin:0 0 10px}
.bb-comparatif dl{margin:0;display:grid;gap:8px}
.bb-comparatif dl>div{display:grid;gap:2px;padding-top:8px;border-top:1px dashed #D5E0D9}
.bb-comparatif dt{font-size:14px;color:#4A5568;font-weight:600}
.bb-comparatif dd{margin:0;color:#26324A;overflow-wrap:break-word}
/* 29/10 — correctifs de la porte de sortie n°1 */
.bb-inst{ align-items:stretch; }
.bb-inst__recherche{ display:flex; flex-direction:column; gap:16px; }
.bb-inst__photo{ position:relative; flex:1; min-height:200px; margin:0; border-radius:22px; overflow:hidden; box-shadow:var(--ombre); }
.bb-inst__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bb-inst__photo figcaption{ position:absolute; right:10px; bottom:10px; background:rgba(255,255,255,.92); border-radius:999px; padding:3px 10px; font-size:13px; color:#26324A; }
@media (max-width:1100px){ .bb-inst__photo{ min-height:220px; } }
.bb-carte-palier__etape{ top:24px; right:24px; }
.bb-marche{ padding-top:74px; }
.bb-marche__n, .bb-marche:nth-child(n) .bb-marche__n{ top:20px; left:22px; }
@media (max-width:900px){ .bb-marche__n, .bb-marche:nth-child(n) .bb-marche__n{ top:18px; left:18px; } .bb-marche{ padding-top:70px; } }
[data-grille-voirplus]:not(.bb-tout) > .bb-carte:nth-child(n+13){ display:none; }
.entry-content p, .entry-content li, .sbt-corps p, .sbt-corps li, article p, article li{ overflow-wrap:break-word; }
.bb-rail-form{margin:0}.bb-rail-form .bb-tuile-mini{font:inherit;cursor:pointer;width:100%}.bb-outil__cond .bb-liste{grid-template-columns:1fr}
.bb-outil__cond .bb-liste>li{background:#2E3A53;border-color:#45516A;color:#EEF2F7;box-shadow:none}.bb-outil__cond .bb-liste--coches>li::before{background-color:#C9902F}
/* 29/10 : à 390, la pastille d'étape ne recouvre plus la question (« Que souhaitez-vous adapter ? »). */
@media (max-width:520px){
	.bb-carte-palier__etape{ top:16px; right:14px; font-size:13px; padding:4px 10px; line-height:1.3; }
	.bb-carte-palier__titre{ padding-right:112px; }
}
