/* Black Bond Outils : CSS du module (copie de la source effective de la maquette v12).
   Jetons : chaque variable de la maquette lit la variable globale --bb-* du design system (lot L1), repli sur la valeur v12. */
.bbfd{--bone:var(--bb-bone,#FAF7F2);--lin:var(--bb-lin,#F3ECE1);--sable:var(--bb-sable,#E4D8C6);--encre:var(--bb-encre,#241E1A);--encre-2:var(--bb-encre-2,#3A322C);--muted:var(--bb-muted,#6B6058);--argile:var(--bb-argile,#C4602F);--argile-fonce:var(--bb-argile-fonce,#A44E24);--sauge:var(--bb-sauge,#5B6E5E);--f-body:var(--bb-f-body,'Inter','Segoe UI','Helvetica Neue',system-ui,sans-serif);--r-s:var(--bb-r-s,4px);--f-display:var(--bb-f-display,'Poppins','Century Gothic','Futura',system-ui,sans-serif);--hh:var(--bb-hh,124px);--r-l:var(--bb-r-l,8px);--ease:var(--bb-ease,cubic-bezier(.2,.7,.2,1));--r-m:var(--bb-r-m,6px);--g-id:var(--bb-g-id,linear-gradient(180deg,#EDE2D0 0%,#FAF7F2 100%))}
.bbfd [hidden]{display:none!important}
/* Black Bond, maquette v9 : friseDroits (route #frise-droits, pilier Identités & Orientations)
   Variables lues sur le :root de la maquette, toutes avec une valeur de repli. Préfixe .bbfd- */
.bbfd{
  --fd-bg:var(--bone,#FAF7F2); --fd-card:var(--lin,#F3ECE1); --fd-sable:var(--sable,#E4D8C6);
  --fd-ink:var(--encre,#241E1A); --fd-ink2:var(--encre-2,#3A322C); --fd-muted:var(--muted,#6B6058);
  --fd-fil:var(--argile,#C4602F); --fd-fil-f:var(--argile-fonce,#A44E24); --fd-sauge:var(--sauge,#5B6E5E);
  --fd-line:rgba(36,30,26,.14);
  --fd-rail:72px;
  color:var(--fd-ink);font:400 16px/1.6 var(--f-body,'Inter','Segoe UI',system-ui,sans-serif);
  padding-block:4px 40px;
}
.bbfd *,.bbfd *::before,.bbfd *::after{box-sizing:border-box}
.bbfd a:focus-visible,.bbfd button:focus-visible,.bbfd summary:focus-visible,.bbfd [tabindex="-1"]:focus-visible{outline:3px solid var(--fd-fil);outline-offset:3px;border-radius:6px}
.bbfd .bbfd-t:focus{outline:none}
.bbfd .bbfd-t:focus-visible{outline:3px solid var(--fd-fil)}
.bbfd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* ---------- En-tête : avertissement repliable + intro ---------- */
.bbfd-top{max-width:760px;margin-bottom:clamp(20px,3vw,36px)}
.bbfd-note{border:1px solid var(--fd-line);border-left:3px solid var(--fd-fil);border-radius:var(--r-s,8px);background:var(--fd-card);font-size:13.5px;line-height:1.5;margin-bottom:16px}
.bbfd-note summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 14px;cursor:pointer;list-style:none;min-height:44px}
.bbfd-note summary::-webkit-details-marker{display:none}
.bbfd-note-i{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--fd-fil-f);color:var(--fd-fil-f);font:700 12px/1 var(--f-display,'Poppins',system-ui,sans-serif)}
.bbfd-note summary>span:nth-child(2){flex:1 1 220px;font-weight:500}
.bbfd-note-more{color:var(--fd-fil-f);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.bbfd-note[open] .bbfd-note-more{display:none}
.bbfd-note p{margin:0;padding:0 14px 12px 44px;color:var(--fd-ink2)}
.bbfd-intro{margin:0;font-size:clamp(16px,1.3vw,18px);line-height:1.6;color:var(--fd-ink2);max-width:60ch}

/* ---------- Corps : colonne de dates (bureau) + frise ---------- */
.bbfd-body{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.bbfd-aside{display:none}
.bbfd-track{position:relative}
.bbfd-svg{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
.bbfd-ghost{fill:none;stroke:var(--fd-sable);stroke-width:2;stroke-linecap:round;stroke-dasharray:2 7}
.bbfd-fil{fill:none;stroke:var(--fd-fil);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.bbfd-tip{fill:var(--fd-fil);stroke:var(--fd-bg);stroke-width:2.5;transition:opacity .2s}
.bbfd-n-o{fill:var(--fd-bg);stroke:var(--fd-sable);stroke-width:2;transition:stroke .35s,fill .35s}
.bbfd-n-i{fill:var(--fd-sable);transition:fill .35s,transform .35s}
.bbfd-n.is-on .bbfd-n-o{stroke:var(--fd-fil)}
.bbfd-n.is-on .bbfd-n-i{fill:var(--fd-fil)}

.bbfd-list{list-style:none;margin:0;padding:0 0 44px var(--fd-rail);display:grid;gap:clamp(28px,5vw,64px)}
.bbfd-item{position:relative;scroll-margin-top:calc(var(--hh,80px) + 16px)}
.bbfd-card{max-width:680px;padding:clamp(18px,2.4vw,28px) clamp(18px,2.6vw,32px);background:var(--fd-card);border-radius:var(--r-l,22px);border:1px solid var(--fd-line)}
.bbfd--anim .bbfd-card{opacity:.45;transform:translateY(14px);transition:opacity .6s var(--ease,cubic-bezier(.2,.7,.2,1)),transform .6s var(--ease,cubic-bezier(.2,.7,.2,1))}
.bbfd--anim .bbfd-item.is-on .bbfd-card{opacity:1;transform:none}
.bbfd-item:focus-within .bbfd-card{opacity:1;transform:none}

.bbfd-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 10px}
.bbfd-y{font:700 clamp(34px,4vw,48px)/1 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:-.03em;color:var(--fd-fil-f)}
.bbfd-d{font:500 14px/1.3 var(--f-body,'Inter',system-ui,sans-serif);color:var(--fd-muted)}
.bbfd-kind{margin-left:auto;padding:4px 10px;border-radius:999px;border:1px solid var(--fd-line);background:var(--fd-bg);font:600 11.5px/1.2 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--fd-sauge)}
.bbfd-t{margin:0 0 10px;font:600 clamp(20px,2vw,25px)/1.22 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:-.015em;text-wrap:balance;scroll-margin-top:calc(var(--hh,80px) + 16px)}
.bbfd-ctx{margin:0 0 14px;color:var(--fd-ink2);font-size:15.5px;line-height:1.6}
.bbfd-chg{border-top:1px solid var(--fd-line);padding-top:12px}
.bbfd-chg-t{margin:0 0 6px;font:600 12px/1 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--fd-sauge)}
.bbfd-chg ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.bbfd-chg li{position:relative;padding-left:22px;font-size:15px;line-height:1.55}
.bbfd-chg li::before{content:"";position:absolute;left:2px;top:.72em;width:12px;height:2px;border-radius:2px;background:var(--fd-fil)}
.bbfd-src{margin:14px 0 0;font-size:13.5px;line-height:1.45}
.bbfd-src-a{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:32px;color:var(--fd-ink);text-decoration:underline;text-decoration-color:rgba(36,30,26,.3);text-underline-offset:3px}
.bbfd-src-a:hover{text-decoration-color:currentColor}
.bbfd-lf{padding:2px 7px;border-radius:4px;background:var(--fd-ink);color:var(--fd-bg);font:600 10.5px/1.4 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.bbfd-ext{display:inline-block;vertical-align:-1px;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- Fin du fil ---------- */
.bbfd-end{padding-left:var(--fd-rail);margin-top:8px}
.bbfd-knot{width:120px;height:60px;margin:-30px 0 10px calc(var(--fd-rail) / -2 - 4px)}
.bbfd-knot svg{width:120px;height:60px;display:block;overflow:visible}
.bbfd-knot-p{fill:none;stroke:var(--fd-fil);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease,cubic-bezier(.2,.7,.2,1))}
.bbfd-end.is-on .bbfd-knot-p{stroke-dashoffset:0}
.bbfd-end h2{margin:0 0 8px;font:600 clamp(22px,2.4vw,30px)/1.15 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:-.02em}
.bbfd-open,.bbfd-aide{max-width:980px;margin-bottom:clamp(32px,4vw,48px)}
.bbfd-open-l,.bbfd-aide-l{margin:0 0 16px;color:var(--fd-ink2);max-width:62ch}
.bbfd-open-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.bbfd-open-c{padding:20px 22px;border-radius:var(--r-m,14px);border:1.5px dashed var(--fd-line);background:var(--fd-bg)}
.bbfd-open-c h3{margin:0 0 8px;font:600 17px/1.3 var(--f-display,'Poppins',system-ui,sans-serif)}
.bbfd-open-c p{margin:0;font-size:15px;line-height:1.6;color:var(--fd-ink2)}
.bbfd-open-c .bbfd-src{margin-top:12px}

.bbfd-aide{padding:clamp(20px,3vw,32px);border-radius:var(--r-l,22px);background:var(--g-id,linear-gradient(180deg,#EDE2D0 0%,#FAF7F2 100%));border:1px solid var(--fd-line)}
.bbfd-aide-g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.bbfd-aide-c{padding:18px 18px 16px;border-radius:var(--r-m,14px);background:var(--fd-bg);border:1px solid var(--fd-line);display:flex;flex-direction:column;gap:6px}
.bbfd-aide-c p{margin:0;font-size:14px;line-height:1.5;color:var(--fd-ink2)}
.bbfd-aide-n{font:600 15px/1.3 var(--f-display,'Poppins',system-ui,sans-serif)!important;color:var(--fd-ink)!important}
.bbfd-tel{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font:700 22px/1.1 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:-.01em;color:var(--fd-fil-f);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.bbfd-aide-c .bbfd-aide-h{font-size:13px;color:var(--fd-muted)}
.bbfd-aide-more{margin:16px 0 0;font-size:14px}
.bbfd-aide-more a{font-weight:600;text-decoration:underline;text-underline-offset:3px;margin-left:4px}

.bbfd-links{max-width:980px}
.bbfd-links-t{margin:0 0 10px;font:600 12px/1 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--fd-sauge)}
.bbfd-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.bbfd-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--fd-line);font-size:14.5px;font-weight:500;transition:border-color .2s}
.bbfd-links a:hover{border-color:var(--fd-ink)}
.bbfd-links-k{font:600 10.5px/1 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--fd-muted)}

/* ---------- Bureau : colonne de dates collante ---------- */
@media (min-width:960px){
  .bbfd-body{grid-template-columns:260px minmax(0,1fr);column-gap:clamp(16px,2vw,32px)}
  .bbfd-aside{display:block}
  .bbfd-aside-in{position:sticky;top:calc(var(--hh,80px) + 24px)}
  .bbfd-big{margin:0;font:700 72px/1 var(--f-display,'Poppins',system-ui,sans-serif);letter-spacing:-.04em;color:var(--fd-ink)}
  .bbfd-big-l{margin:6px 0 18px;font:500 13px/1 var(--f-body,'Inter',system-ui,sans-serif);color:var(--fd-muted);letter-spacing:.06em}
  .bbfd-big-n{color:var(--fd-fil-f);font-weight:700}
  .bbfd-nav{list-style:none;margin:0;padding:0;border-left:1px solid var(--fd-line)}
  .bbfd-nav-b{display:flex;gap:10px;align-items:baseline;width:100%;min-height:36px;padding:6px 8px 6px 14px;margin-left:-1px;border-left:2px solid transparent;text-align:left;font-size:13px;line-height:1.3;color:var(--fd-muted);transition:color .2s,border-color .2s}
  .bbfd-nav-b:hover{color:var(--fd-ink)}
  .bbfd-nav-y{flex:none;font:600 13px/1.3 var(--f-display,'Poppins',system-ui,sans-serif);color:inherit;width:38px}
  .bbfd-nav-t{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
  .bbfd-nav-b[aria-current]{color:var(--fd-ink);border-left-color:var(--fd-fil)}
  .bbfd-nav-b[aria-current] .bbfd-nav-y{color:var(--fd-fil-f)}
  .bbfd-end{margin-left:calc(260px + clamp(16px,2vw,32px))}
}
/* ---------- Mobile ---------- */
@media (max-width:640px){
  .bbfd{--fd-rail:40px}
  .bbfd-card{border-radius:var(--r-m,14px)}
  .bbfd-kind{margin-left:0}
  .bbfd-when{gap:4px 10px}
  .bbfd-end{padding-left:0}
  .bbfd-knot{margin-left:calc(var(--fd-rail) / 2 - 4px)}
  .bbfd-note p{padding-left:14px}
}
@media (prefers-reduced-motion:reduce){
  .bbfd *{transition:none!important}
}
@media print{
  .bbfd-svg,.bbfd-aside,.bbfd-knot{display:none}
  .bbfd-list,.bbfd-end{padding-left:0}
  .bbfd--anim .bbfd-card{opacity:1;transform:none}
}

