/* Pages de la Fédération (modules-pages/federation.mjs, js/federation.js) — couleurs de la charte seulement :
   Klein #001CA8, Midnight #191970, noir d'aniline #120D16, White Smoke #F5F5F5, Cranberry #950714, rouge #F32837, blanc,
   et leurs transparences. Préfixe : fl-fd-. */

.fl-fd.v6-section { padding: clamp(3.4rem, 6.5vw, 6.8rem) 0; scroll-margin-top: 7.5rem; }
.fl-fd .fl-entete { margin-bottom: clamp(1.8rem, 3vw, 2.8rem); }
.fl-fd :is(h3, h4) { text-wrap: balance; }
.fl-fd .fl-icone { width: 1.1em; height: 1.1em; flex: none; }

/* ── Sommaire de la page ── */
.fl-fd-nav { position: sticky; top: 68px; z-index: 30; background: rgba(245, 245, 245, .94); backdrop-filter: blur(10px) saturate(1.2); -webkit-backdrop-filter: blur(10px) saturate(1.2); border-bottom: 1px solid var(--filet); }
.fl-fd-nav .v6-zone { display: flex; align-items: center; gap: 1rem; min-height: 3.4rem; }
.fl-fd-nav .fl-instru-lib { margin: 0; flex: none; font-size: .68rem; color: rgba(18, 13, 22, .55); }
.fl-fd-nav ul { list-style: none; margin: 0; padding: .45rem 0; display: flex; gap: .35rem; overflow-x: auto; scrollbar-width: none; flex: 1; min-width: 0; }
.fl-fd-nav ul::-webkit-scrollbar { display: none; }
.fl-fd-nav a { display: block; white-space: nowrap; padding: .42rem .85rem; border-radius: 999px; font: 600 .86rem var(--police-ui); color: #120D16; text-decoration: none; border: 1px solid transparent; transition: background .2s, color .2s, border-color .2s; }
.fl-fd-nav a:hover, .fl-fd-nav a:focus-visible { border-color: #001CA8; color: #001CA8; outline: none; }
.fl-fd-nav a[aria-current="true"] { background: #001CA8; color: #fff; }
@media (max-width: 700px) { .fl-fd-nav .fl-instru-lib { display: none; } .fl-fd-nav .v6-zone { padding-right: 0; } }

/* ── Briques communes ── */
.fl-fd-lead { font-size: clamp(1.08rem, 1rem + .3vw, 1.25rem); line-height: 1.6; color: rgba(18, 13, 22, .8); max-width: 42rem; }
.fl-fd-source { margin: 1rem 0 0; font-size: .84rem; color: rgba(18, 13, 22, .58); }
.fl-fd-note { margin: 1.6rem 0 0; padding: .8rem 1rem; border-left: 3px solid rgba(0, 28, 168, .35); font-size: .9rem; line-height: 1.5; color: rgba(18, 13, 22, .68); background: rgba(0, 28, 168, .035); border-radius: 0 .6rem .6rem 0; }
.fl-fd-note .v6-lien { margin-left: .4rem; }
.fl-fd-plus { display: flex; flex-wrap: wrap; gap: .6rem 1.8rem; margin: 1.8rem 0 0; }
.fl-fd-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.4rem 0 0; }
.fl-fd-liens-col { display: grid; gap: .55rem; justify-items: start; }
.fl-fd-espace { margin-top: clamp(1.8rem, 3vw, 2.6rem); }
.fl-fd-centre { text-align: center; margin: 1.2rem 0 0; }
.fl-fd-vide, .fl-fd-vide-texte { margin: 1rem 0 0; padding: 1rem 1.2rem; border-radius: .9rem; background: #F5F5F5; color: rgba(18, 13, 22, .7); }
.fl-fd-important { margin: 1rem 0 0; padding: .8rem 1rem; border-radius: .8rem; background: rgba(0, 28, 168, .06); color: #191970; font-weight: 600; line-height: 1.5; }
.fl-fd-deux { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.fl-fd-trois { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: clamp(1rem, 2vw, 1.4rem); }
.fl-fd-encart { display: grid; align-content: start; gap: .6rem; padding: clamp(1.2rem, 2.4vw, 1.8rem); border-radius: 1.2rem; background: #fff; border: 1px solid var(--filet); line-height: 1.55; }
.fl-fd-encart > * { margin: 0; }
.fl-fd-encart h3 { font: 800 1.2rem/1.25 var(--police-display); letter-spacing: -.015em; color: #120D16; }
.fl-fd-encart p { color: rgba(18, 13, 22, .78); }
.fl-fd-coches { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.fl-fd-coches li { position: relative; padding-left: 1.6rem; line-height: 1.5; color: rgba(18, 13, 22, .82); }
.fl-fd-coches li::before { content: ''; position: absolute; left: 0; top: .32em; width: 1rem; height: 1rem; border-radius: 50%; background: #001CA8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7'/%3E%3C/svg%3E") center / .8rem no-repeat; }

/* Chiffres */
.fl-fd-chiffres { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr)); gap: .8rem; }
.fl-fd-chiffres li { display: grid; align-content: start; gap: .2rem; padding: 1.1rem 1.2rem; border-radius: 1.1rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-chiffres b { font: 800 clamp(1.6rem, 1.2rem + 1.3vw, 2.3rem)/1.05 var(--police-display); letter-spacing: -.03em; color: #001CA8; font-variant-numeric: tabular-nums; }
.fl-fd-chiffres span { font: 600 .92rem/1.35 var(--police-ui); color: #120D16; }
.fl-fd-chiffres small { font-size: .8rem; color: rgba(18, 13, 22, .58); }

/* Cartes de lien */
.fl-fd-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.fl-fd-carte { position: relative; display: grid; align-content: start; gap: .35rem; padding: 1.25rem 1.3rem 4rem; border-radius: 1.2rem; background: #fff; border: 1px solid var(--filet); color: #120D16; text-decoration: none; transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s, border-color .3s; }
.fl-fd-carte .fl-instru-lib { font-size: .66rem; color: rgba(18, 13, 22, .55); }
.fl-fd-carte b { font: 800 1.15rem/1.25 var(--police-display); letter-spacing: -.015em; }
.fl-fd-carte > span:not(.fl-instru-lib) { font-size: .92rem; line-height: 1.5; color: rgba(18, 13, 22, .7); }
.fl-fd-carte-fleche { position: absolute; left: 1.3rem; bottom: 1.1rem; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 1px solid var(--filet-fort); color: #001CA8; transition: background .3s, color .3s, border-color .3s; }
.fl-fd-carte:hover, .fl-fd-carte:focus-visible { transform: translateY(-3px); box-shadow: 0 22px 40px -26px rgba(0, 28, 168, .5); border-color: rgba(0, 28, 168, .3); outline: none; }
.fl-fd-carte:hover .fl-fd-carte-fleche, .fl-fd-carte:focus-visible .fl-fd-carte-fleche { background: #001CA8; border-color: #001CA8; color: #fff; }

/* Bandeau d'appel */
.fl-fd-bandeau { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; margin-top: clamp(1.6rem, 3vw, 2.4rem); padding: clamp(1.2rem, 2.6vw, 1.8rem) clamp(1.2rem, 3vw, 2.2rem); border-radius: 1.3rem; background: #001CA8; color: #fff; }
.fl-fd-bandeau p { margin: 0; max-width: 46rem; line-height: 1.55; }
.fl-fd-bandeau b { font-family: var(--police-display); }
.fl-fd-bandeau-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.fl-fd-bandeau .v6-bouton-plein { background: #fff; color: #001CA8; --survol: #F5F5F5; }
.fl-fd-bandeau .v6-bouton-plein:hover { background: #fff; color: #191970; }

/* Étapes */
.fl-fd-etapes { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; counter-reset: none; }
.fl-fd-etape { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; padding: 1.05rem 1.15rem; border-radius: 1.1rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-etape-num { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: #001CA8; color: #fff; font: 800 .9rem var(--police-display); }
.fl-fd-etape b { display: block; font: 800 1.05rem/1.3 var(--police-display); color: #120D16; margin: .35rem 0 .2rem; }
.fl-fd-etape p { margin: .25rem 0 0; color: rgba(18, 13, 22, .76); line-height: 1.55; }
.fl-fd-etapes-ligne { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); margin-bottom: clamp(1.4rem, 3vw, 2.2rem); }
.fl-fd-etapes-frise { position: relative; }
@media (min-width: 900px) {
  .fl-fd-etapes-frise { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
  .fl-fd-etapes-frise::before { content: ''; position: absolute; left: 2.5rem; right: 2.5rem; top: 2.3rem; height: 2px; background: repeating-linear-gradient(90deg, rgba(0, 28, 168, .35) 0 8px, transparent 8px 14px); }
  .fl-fd-etapes-frise .fl-fd-etape { grid-template-columns: 1fr; align-content: start; position: relative; padding-top: 1.05rem; }
}

/* Questions */
.fl-fd-faq { display: grid; gap: .6rem; max-width: 56rem; }
.fl-fd-faq details { border-radius: 1rem; background: #fff; border: 1px solid var(--filet); transition: border-color .2s, box-shadow .2s; }
.fl-fd-faq details[open] { border-color: rgba(0, 28, 168, .3); box-shadow: 0 18px 36px -28px rgba(0, 28, 168, .45); }
.fl-fd-faq summary { position: relative; cursor: pointer; list-style: none; padding: 1rem 3.2rem 1rem 1.2rem; font: 700 1.02rem/1.4 var(--police-display); color: #120D16; }
.fl-fd-faq summary::-webkit-details-marker { display: none; }
.fl-fd-faq summary::after { content: ''; position: absolute; right: 1.1rem; top: 50%; width: 1.5rem; height: 1.5rem; margin-top: -.75rem; border-radius: 50%; background: rgba(0, 28, 168, .08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001CA8' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / .9rem no-repeat; transition: transform .25s; }
.fl-fd-faq details[open] summary::after { transform: rotate(45deg); }
.fl-fd-faq summary:focus-visible { outline: 2px solid #001CA8; outline-offset: 2px; border-radius: 1rem; }
.fl-fd-faq details > div { padding: 0 1.2rem 1.1rem; line-height: 1.6; color: rgba(18, 13, 22, .8); }
.fl-fd-faq details > div p { margin: 0 0 .6rem; }

/* Outils de liste : recherche, filtres, compteur */
.fl-fd-outils { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-bottom: 1.2rem; }
.fl-fd-recherche { flex: 1 1 20rem; min-width: 0; display: flex; align-items: center; gap: .6rem; padding: 0 1.05rem; min-height: 3.1rem; border-radius: 999px; background: #fff; border: 1px solid var(--filet-fort); }
.fl-fd-recherche:focus-within { border-color: #001CA8; box-shadow: 0 0 0 3px rgba(0, 28, 168, .14); }
.fl-fd-recherche .fl-icone { color: #001CA8; width: 1.2rem; height: 1.2rem; }
.fl-fd .fl-fd-recherche input { flex: 1; min-width: 0; border: 0; border-radius: 0; box-shadow: none; appearance: none; background: transparent; font: inherit; font-size: 1rem; color: #120D16; padding: .75rem 0; outline: none; }
.fl-fd-filtres { display: flex; flex-wrap: wrap; gap: .4rem; }
.fl-fd-filtres button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; gap: .35rem; align-items: center; padding: .5rem .9rem; border-radius: 999px; background: #fff; border: 1px solid var(--filet); font: 600 .88rem var(--police-ui); color: #120D16; transition: background .2s, color .2s, border-color .2s; }
.fl-fd-filtres button small { font-size: .74rem; color: rgba(18, 13, 22, .55); }
.fl-fd-filtres button:hover, .fl-fd-filtres button:focus-visible { border-color: #001CA8; color: #001CA8; }
.fl-fd-filtres button[aria-pressed="true"] { background: #001CA8; border-color: #001CA8; color: #fff; }
.fl-fd-filtres button[aria-pressed="true"] small { color: rgba(255, 255, 255, .78); }
@media (max-width: 700px) {
  /* Téléphone (demande d'Alexis du 11/10/2026) : plus de barre qui défile de côté sans qu'on le sache — les choix passent à la ligne. */
  .fl-fd-qui .fl-fd-filtres, .fl-fd-biblio .fl-fd-filtres { gap: .5rem; }
  .fl-fd-qui .fl-fd-filtres button, .fl-fd-biblio .fl-fd-filtres button { min-height: 2.75rem; }
}
.fl-fd-compte { margin: 0 0 0 auto; font: 600 .86rem var(--police-ui); color: rgba(18, 13, 22, .6); }
.fl-fd-compte:empty { display: none; }
.fl-fd-select select { font: 600 .9rem var(--police-ui); color: #120D16; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001CA8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .7rem center / 1rem; border: 1px solid var(--filet-fort); border-radius: 999px; padding: .65rem 2.2rem .65rem 1rem; appearance: none; max-width: 100%; }
.fl-fd-select-large { flex: 1 1 22rem; }
.fl-fd-select-large select { width: 100%; min-height: 3.1rem; font-size: 1rem; }

/* ── Bibliothèque de documents ── */
.fl-fd-biblio { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
.fl-fd-outils > * { min-width: 0; }
.fl-fd-biblio .fl-fd-outils { margin-bottom: 0; }
.fl-fd-groupe { display: grid; gap: .8rem; }
.fl-fd-groupe-titre { display: flex; align-items: baseline; gap: .8rem; margin: 0; font: 800 1.2rem var(--police-display); letter-spacing: -.015em; color: #120D16; }
.fl-fd-groupe-titre small { font: 600 .8rem var(--police-ui); color: rgba(18, 13, 22, .55); }
.fl-fd-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr)); gap: .6rem; }
.fl-fd-doc[hidden], .fl-fd-groupe[hidden], .fl-fd-ag-item[hidden] { display: none; }
.fl-fd-doc a { display: grid; grid-template-columns: auto 1fr auto; gap: .9rem; align-items: center; height: 100%; padding: .85rem 1rem; border-radius: .95rem; background: #fff; border: 1px solid var(--filet); color: #120D16; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.fl-fd-doc a:hover, .fl-fd-doc a:focus-visible { border-color: rgba(0, 28, 168, .4); box-shadow: 0 14px 28px -22px rgba(0, 28, 168, .6); transform: translateY(-1px); outline: none; }
.fl-fd-doc-type { display: grid; place-items: center; width: 2.9rem; height: 3.3rem; border-radius: .45rem .9rem .45rem .45rem; background: rgba(0, 28, 168, .08); color: #001CA8; font: 800 .66rem var(--police-display); letter-spacing: .04em; text-transform: uppercase; text-align: center; line-height: 1.1; }
.fl-fd-doc-pdf { background: rgba(149, 7, 20, .08); color: #950714; }
.fl-fd-doc-page, .fl-fd-doc-site { background: #F5F5F5; color: #191970; }
.fl-fd-doc-texte { display: grid; gap: .15rem; min-width: 0; }
.fl-fd-doc-texte b { font: 700 .98rem/1.3 var(--police-ui); }
.fl-fd-doc-texte small { font-size: .82rem; color: rgba(18, 13, 22, .58); line-height: 1.35; }
.fl-fd-doc-fleche { color: #001CA8; transition: transform .2s; }
.fl-fd-doc a:hover .fl-fd-doc-fleche { transform: translateX(3px); }
.fl-fd-docs-grille { grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.fl-fd-ag { display: grid; gap: .6rem; }
.fl-fd-ag-item { border-radius: 1.1rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-ag-item[open] { border-color: rgba(0, 28, 168, .28); }
.fl-fd-ag-item summary { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: .9rem 3.4rem .9rem 1.1rem; cursor: pointer; list-style: none; }
.fl-fd-ag-item summary::after { content: ''; position: absolute; right: 1.1rem; top: 50%; width: 1.5rem; height: 1.5rem; margin-top: -.75rem; border-radius: 50%; background: rgba(0, 28, 168, .08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001CA8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") center / 1rem no-repeat; transition: transform .25s; }
.fl-fd-ag-item[open] summary::after { transform: rotate(180deg); }
.fl-fd-ag-item summary:hover .fl-fd-ag-titre { color: #001CA8; }
.fl-fd-ag-item summary::-webkit-details-marker { display: none; }
.fl-fd-ag-item summary:focus-visible { outline: 2px solid #001CA8; outline-offset: 2px; border-radius: 1.1rem; }
.fl-fd-ag-annee { display: grid; place-items: center; min-width: 4.2rem; padding: .45rem .6rem; border-radius: .7rem; background: #191970; color: #fff; font: 800 1.05rem var(--police-display); font-variant-numeric: tabular-nums; }
.fl-fd-ag-item:first-child .fl-fd-ag-annee { background: #001CA8; }
.fl-fd-ag-titre { font: 700 1rem/1.35 var(--police-display); color: #120D16; }
.fl-fd-ag-item summary small { font: 600 .8rem var(--police-ui); color: rgba(18, 13, 22, .55); white-space: nowrap; }
.fl-fd-ag-item .fl-fd-docs, .fl-fd-ag-note { margin: 0 1.1rem 1.1rem; }
.fl-fd-ag-note { font-size: .92rem; color: rgba(18, 13, 22, .7); line-height: 1.5; }
.fl-fd-ag-item .fl-fd-doc a { background: #F5F5F5; border-color: transparent; }
.fl-fd-ag-item .fl-fd-doc-texte small { display: none; }
@media (max-width: 560px) { .fl-fd-ag-item summary { grid-template-columns: auto 1fr; } .fl-fd-ag-item summary small { grid-column: 2; } }

/* ── Nos missions ── */
.fl-fd-missions { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1rem; }
.fl-fd-mission { position: relative; display: grid; align-content: start; gap: .7rem; padding: 1.5rem 1.5rem 1.4rem; border-radius: 1.3rem; background: #fff; border: 1px solid var(--filet); overflow: hidden; }
.fl-fd-mission::after { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #001CA8; transform: scaleY(0); transform-origin: top; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.fl-fd-mission:hover::after { transform: scaleY(1); }
.fl-fd-mission-num { position: absolute; right: 1.2rem; top: .8rem; font: 800 2.6rem/1 var(--police-display); color: rgba(0, 28, 168, .1); letter-spacing: -.04em; }
.fl-fd-mission-ico { width: 2.6rem; height: 2.6rem; padding: .55rem; border-radius: .8rem; background: rgba(0, 28, 168, .08); color: #001CA8; }
.fl-fd-mission h3 { margin: 0; font: 800 1.18rem/1.25 var(--police-display); letter-spacing: -.015em; color: #120D16; padding-right: 2.5rem; }
.fl-fd-mission p { margin: 0; color: rgba(18, 13, 22, .76); line-height: 1.55; }
.fl-fd-mission-liens { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; padding-top: .3rem; }
.fl-fd-mission-liens .v6-lien { font-size: .92rem; }
.fl-fd-axes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: .7rem; }
@media (min-width: 1100px) { .fl-fd-axes { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fl-fd-axes p, .fl-fd-commission p, .fl-fd-mission p { text-wrap: pretty; }
.fl-fd-axes li { display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: start; padding: 1rem 1.1rem; border-radius: 1rem; background: #F5F5F5; }
.fl-fd-axes span { font: 800 1.35rem/1 var(--police-display); color: #001CA8; letter-spacing: -.03em; }
.fl-fd-axes p { margin: 0; font-weight: 600; line-height: 1.45; color: #120D16; }
.fl-fd-reperes { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 0; max-width: 52rem; }
.fl-fd-reperes li { position: relative; display: grid; grid-template-columns: minmax(7rem, 9.5rem) 1fr; gap: 1.4rem; padding: 0 0 1.5rem; }
.fl-fd-reperes li::before { content: ''; position: absolute; left: calc(min(9.5rem, 30%) + .05rem); top: .45rem; width: .7rem; height: .7rem; border-radius: 50%; background: #001CA8; box-shadow: 0 0 0 4px rgba(0, 28, 168, .14); }
.fl-fd-reperes li::after { content: ''; position: absolute; left: calc(min(9.5rem, 30%) + .38rem); top: 1.3rem; bottom: .1rem; width: 2px; background: rgba(0, 28, 168, .18); }
.fl-fd-reperes li:last-child::after { display: none; }
.fl-fd-reperes b { font: 800 1.05rem/1.4 var(--police-display); color: #001CA8; text-align: right; padding-right: 1.4rem; }
.fl-fd-reperes p { margin: 0; padding-left: 1.2rem; line-height: 1.55; color: rgba(18, 13, 22, .8); }
@media (max-width: 560px) { .fl-fd-reperes li { grid-template-columns: 1fr; gap: .2rem; padding-left: 1.6rem; } .fl-fd-reperes li::before { left: 0; } .fl-fd-reperes li::after { left: .33rem; } .fl-fd-reperes b { text-align: left; padding: 0; } .fl-fd-reperes p { padding: 0; } }

/* ── Adhérer ── */
.fl-fd-choix-section.v6-section { padding: clamp(2rem, 4vw, 3.2rem) 0 0; }
.fl-fd-choix { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1rem; }
.fl-fd-choix button, .fl-fd-choix a.fl-fd-choix-lien { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; align-items: center; padding: 1.3rem 1.4rem; border-radius: 1.3rem; background: #fff; border: 2px solid var(--filet); color: #120D16; transition: border-color .25s, box-shadow .25s, background .25s, color .25s; }
.fl-fd-choix button:hover, .fl-fd-choix a.fl-fd-choix-lien:hover { border-color: rgba(0, 28, 168, .45); }
.fl-fd-choix button:focus-visible, .fl-fd-choix a.fl-fd-choix-lien:focus-visible { outline: 3px solid rgba(0, 28, 168, .35); outline-offset: 2px; }
.fl-fd-choix button[aria-selected="true"], .fl-fd-choix a.fl-fd-choix-principal { background: #001CA8; border-color: #001CA8; color: #fff; box-shadow: 0 24px 46px -28px rgba(0, 28, 168, .75); }
.fl-fd-choix-ico { width: 3rem; height: 3rem; padding: .7rem; border-radius: 50%; background: rgba(0, 28, 168, .08); color: #001CA8; }
.fl-fd-choix button[aria-selected="true"] .fl-fd-choix-ico, .fl-fd-choix a.fl-fd-choix-principal .fl-fd-choix-ico { background: rgba(255, 255, 255, .16); color: #fff; }
.fl-fd-choix span { display: grid; gap: .15rem; }
.fl-fd-choix small { font: 600 .82rem var(--police-ui); opacity: .72; }
.fl-fd-choix b { font: 800 clamp(1.2rem, 1.05rem + .6vw, 1.5rem)/1.15 var(--police-display); letter-spacing: -.02em; }
.fl-fd-choix em { font-style: normal; font-size: .88rem; opacity: .8; }
.fl-fd-panneau[hidden] { display: none; }
.fl-fd-licence-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: clamp(1.6rem, 4vw, 3.5rem); align-items: start; }
.fl-fd-licence-grille .fl-instru-lib { margin: 0 0 .8rem; }
.fl-fd-tarifs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.fl-fd-tarifs li { display: grid; gap: .3rem; padding: 1.1rem 1.15rem; border-radius: 1.1rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-tarifs li:first-child { background: #001CA8; border-color: #001CA8; color: #fff; }
.fl-fd-tarifs span { font: 600 .9rem var(--police-ui); }
.fl-fd-tarifs b { font: 800 clamp(1.7rem, 1.3rem + 1.2vw, 2.3rem)/1 var(--police-display); letter-spacing: -.03em; color: #001CA8; }
.fl-fd-tarifs li:first-child b { color: #fff; }

/* ── Les pôles ── */
.fl-fd-poles { display: grid; gap: 1.2rem; }
.fl-fd-poles-tete { display: grid; gap: .8rem; }
.fl-fd-poles-onglets { display: flex; gap: .45rem; overflow-x: auto; scrollbar-width: thin; padding: .1rem .1rem .4rem; }
.fl-fd-poles-onglets button { all: unset; box-sizing: border-box; cursor: pointer; flex: none; display: inline-flex; gap: .55rem; align-items: center; padding: .7rem 1.05rem; border-radius: 999px; background: #fff; border: 1px solid var(--filet); font: 700 .92rem var(--police-ui); color: #120D16; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
.fl-fd-poles-onglets button span { font: 800 .78rem var(--police-display); color: #001CA8; }
.fl-fd-poles-onglets button:hover, .fl-fd-poles-onglets button:focus-visible { border-color: #001CA8; outline: none; }
.fl-fd-poles-onglets button[aria-selected="true"] { background: #001CA8; border-color: #001CA8; color: #fff; }
.fl-fd-poles-onglets button[aria-selected="true"] span { color: rgba(255, 255, 255, .75); }
.fl-fd-recherche-petite { flex: 0 1 26rem; max-width: 26rem; min-height: 2.8rem; }
.fl-fd-poles:not(.est-onglets) .fl-fd-poles-onglets { display: none; }
.fl-fd-pole { display: grid; gap: 1.2rem; padding: clamp(1.2rem, 3vw, 2rem); border-radius: 1.5rem; background: #191970; color: #fff; }
.fl-fd-pole[hidden] { display: none; }
.fl-fd-pole + .fl-fd-pole { margin-top: .2rem; }
.fl-fd-pole-tete { display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; align-items: start; }
.fl-fd-pole-ico { width: 3.2rem; height: 3.2rem; padding: .75rem; border-radius: 1rem; background: rgba(255, 255, 255, .12); color: #fff; }
.fl-fd-pole-tete .fl-instru-lib { margin: 0; color: rgba(245, 245, 245, .7); }
.fl-fd-pole-tete h3 { margin: .3rem 0 .4rem; color: #fff; }
.fl-fd-pole-tete p:last-child { margin: 0; color: rgba(245, 245, 245, .82); line-height: 1.5; max-width: 44rem; }
.fl-fd-commissions { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: .7rem; }
.fl-fd-commission { display: grid; align-content: start; gap: .45rem; padding: 1rem 1.1rem; border-radius: 1rem; background: #fff; color: #120D16; }
.fl-fd-commission[hidden] { display: none; }
.fl-fd-commission b { font: 800 1.02rem/1.3 var(--police-display); color: #001CA8; }
.fl-fd-commission p { margin: 0; font-size: .92rem; line-height: 1.5; color: rgba(18, 13, 22, .76); }
.fl-fd-commission-liens { display: grid; gap: .3rem; justify-items: start; }
.fl-fd-commission-liens .v6-lien { font-size: .88rem; }

/* ── Comités régionaux ── */
.fl-fd-comite-section.v6-section { padding-top: clamp(2.4rem, 5vw, 4.4rem); }
.fl-fd-comite { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(1.2rem, 3vw, 2.6rem); align-items: start; }
.fl-fd-comite-fiche { display: grid; gap: .9rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 1.5rem; background: #191970; color: #fff; box-shadow: 0 30px 60px -40px rgba(25, 25, 112, .9); }
.fl-fd-comite-fiche > * { margin: 0; }
.fl-fd-comite-fiche .fl-instru-lib { color: rgba(245, 245, 245, .72); }
.fl-fd-comite-fiche h2 { color: #fff; }
.fl-fd-president { display: flex; align-items: center; gap: .9rem; }
.fl-fd-president img, .fl-fd-initiales { width: 4rem; height: 4rem; border-radius: 50%; object-fit: cover; flex: none; border: 2px solid rgba(255, 255, 255, .35); }
.fl-fd-initiales { display: grid; place-items: center; background: #001CA8; font: 800 1.2rem var(--police-display); color: #fff; }
.fl-fd-president p { margin: 0; display: grid; }
.fl-fd-president small { font: 600 .72rem var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: rgba(245, 245, 245, .65); }
.fl-fd-president b { font: 800 1.25rem var(--police-display); }
.fl-fd-comite-ligne { color: rgba(245, 245, 245, .8); }
.fl-fd-comite-contacts { list-style: none; padding: 0; display: grid; gap: .55rem; }
.fl-fd-comite-contacts li { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; line-height: 1.4; color: rgba(245, 245, 245, .88); }
.fl-fd-comite-contacts .fl-icone { color: rgba(245, 245, 245, .7); }
.fl-fd-comite-contacts a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .4); text-underline-offset: .2em; word-break: break-word; }
.fl-fd-comite-contacts li > span { flex: 1; min-width: 0; }
.fl-fd-comite-fiche .fl-fd-copier { border-color: rgba(255, 255, 255, .35); color: #fff; }
.fl-fd-comite-cote { display: grid; gap: 1rem; }
.fl-fd-comite-role { padding: 1.1rem 1.25rem; border-radius: 1.1rem; background: #F5F5F5; line-height: 1.55; color: rgba(18, 13, 22, .78); }
.fl-fd-comite-role p { margin: 0; }
.fl-fd-comite-role p + p { margin-top: .5rem; }
.fl-fd-comite-role .fl-instru-lib { margin-bottom: .4rem; color: rgba(18, 13, 22, .55); }
/* Bureau et centres d'examen relevés sur le site du comité (donnees/comites-contacts.json) */
.fl-fd-bureau { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.fl-fd-bureau li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .1rem .8rem; padding: .35rem 0; border-top: 1px solid rgba(18, 13, 22, .08); }
.fl-fd-bureau li:first-child { border-top: 0; }
.fl-fd-bureau b { font-weight: 700; color: #120D16; }
.fl-fd-bureau b a { color: #001CA8; }
.fl-fd-bureau span { font-size: .9rem; color: rgba(18, 13, 22, .6); }
.fl-fd-comite-role .fl-fd-plus { margin-top: .6rem; }
@media (max-width: 900px) { .fl-fd-comite { grid-template-columns: minmax(0, 1fr); } }
.fl-fd-etapes-region { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.fl-fd-etapes-region li { display: grid; align-content: start; gap: .5rem; padding: 1.3rem; border-radius: 1.2rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-etapes-region li > * { margin: 0; }
.fl-fd-etape-tete { display: grid; gap: .2rem; }
.fl-fd-etape-tete b { font: 800 .74rem var(--police-display); letter-spacing: .12em; text-transform: uppercase; color: #001CA8; }
.fl-fd-etape-tete span { font-size: .82rem; color: rgba(18, 13, 22, .58); }
.fl-fd-etapes-region h3 { font: 800 1.2rem/1.2 var(--police-display); color: #120D16; }
.fl-fd-etapes-region p { line-height: 1.5; color: rgba(18, 13, 22, .76); }
.fl-fd-etape-faits { display: flex; flex-wrap: wrap; gap: .4rem; }
.fl-fd-etape-faits span { padding: .25rem .65rem; border-radius: 999px; background: #F5F5F5; font-size: .84rem; color: rgba(18, 13, 22, .78); }
.fl-fd-etape-faits b { color: #001CA8; }
.fl-fd-lien-bouton, .fl-fd-dep-liens button { all: unset; cursor: pointer; display: inline-flex; gap: .4rem; align-items: center; font: 700 .9rem var(--police-ui); color: #001CA8; }
.fl-fd-lien-bouton:hover, .fl-fd-lien-bouton:focus-visible, .fl-fd-dep-liens button:hover, .fl-fd-dep-liens button:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.fl-fd-terrains { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.2rem, 3vw, 2.4rem); align-items: start; }
.fl-fd-terrains:not(:has(.fl-fd-carte-zone)) { grid-template-columns: minmax(0, 1fr); }
.fl-fd-carte-zone { position: sticky; top: 9rem; padding: 1rem; border-radius: 1.4rem; background: #F5F5F5; }
.fl-fd-carte-svg { display: block; width: 100%; height: auto; max-height: 34rem; }
.fl-fd-carte-deps path { fill: #fff; stroke: rgba(0, 28, 168, .4); stroke-width: 1.2; vector-effect: non-scaling-stroke; cursor: pointer; transition: fill .2s; }
.fl-fd-carte-deps path:hover, .fl-fd-carte-deps path:focus-visible { fill: rgba(0, 28, 168, .12); outline: none; }
.fl-fd-carte-deps path.est-choisi { fill: rgba(0, 28, 168, .2); stroke: #001CA8; stroke-width: 2; }
.fl-fd-carte-pts circle { pointer-events: none; transition: opacity .2s; }
.fl-fd-pt-ulm { fill: #F32837; } .fl-fd-pt-autre { fill: #191970; }
.fl-fd-carte-pts .est-hors { opacity: .15; }
.fl-fd-legende { display: flex; gap: 1rem; margin: .6rem 0 0; font-size: .82rem; color: rgba(18, 13, 22, .7); }
.fl-fd-legende span::before { content: ''; display: inline-block; width: .65rem; height: .65rem; border-radius: 50%; margin-right: .35rem; vertical-align: -.05rem; }
.fl-fd-leg-ulm::before { background: #F32837; } .fl-fd-leg-autre::before { background: #191970; }
.fl-fd-terrains-liste { min-width: 0; }
.fl-fd-terrains-liste .fl-fd-outils .fl-fd-recherche { flex-basis: 100%; }
.fl-fd-tlist { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.fl-fd-tlist li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .7rem .9rem; border-radius: .9rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-tlist li[hidden] { display: none; }
.fl-fd-t-pastille { width: .75rem; height: .75rem; border-radius: 50%; background: #191970; }
.fl-fd-t-ulm { background: #F32837; } .fl-fd-t-montagne { background: #001CA8; } .fl-fd-t-hydro { background: #fff; box-shadow: inset 0 0 0 3px #001CA8; }
.fl-fd-t-nom { display: grid; min-width: 0; font: 700 .96rem/1.3 var(--police-ui); }
.fl-fd-t-nom a { color: #120D16; text-decoration: none; }
.fl-fd-t-nom a:hover, .fl-fd-t-nom a:focus-visible { color: #001CA8; text-decoration: underline; text-underline-offset: .2em; }
.fl-fd-t-nom small { font: 400 .8rem var(--police-ui); color: rgba(18, 13, 22, .58); }
.fl-fd-t-faits { font-size: .8rem; text-align: right; color: rgba(18, 13, 22, .62); line-height: 1.35; }
@media (max-width: 900px) { .fl-fd-terrains { grid-template-columns: minmax(0, 1fr); } .fl-fd-carte-zone { position: static; } .fl-fd-carte-svg { max-height: 22rem; } }
@media (max-width: 480px) { .fl-fd-t-faits { display: none; } .fl-fd-tlist li { grid-template-columns: auto minmax(0, 1fr); } }
.fl-fd-deps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: .7rem; }
.fl-fd-deps li { display: grid; gap: .35rem; padding: 1rem 1.1rem; border-radius: 1rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-deps p { margin: 0; }
.fl-fd-dep-tete { display: flex; gap: .6rem; align-items: baseline; }
.fl-fd-dep-tete b { font: 800 1.3rem var(--police-display); color: #001CA8; }
.fl-fd-dep-tete span { font: 700 1rem var(--police-display); color: #120D16; }
.fl-fd-dep-faits { font-size: .84rem; color: rgba(18, 13, 22, .62); }
.fl-fd-dep-liens { display: flex; flex-wrap: wrap; gap: .3rem .9rem; padding-top: .2rem; }
.fl-fd-dep-liens a { font: 700 .88rem var(--police-ui); color: #001CA8; text-decoration: none; }
.fl-fd-dep-liens a:hover, .fl-fd-dep-liens a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.fl-fd-dep-liens button { font-size: .88rem; }
.fl-fd-evts { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; gap: .55rem; }
.fl-fd-evt a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: .85rem 1rem; border-radius: 1rem; background: #fff; border: 1px solid var(--filet); color: #120D16; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.fl-fd-evt a:hover, .fl-fd-evt a:focus-visible { border-color: rgba(0, 28, 168, .4); box-shadow: 0 14px 28px -22px rgba(0, 28, 168, .6); outline: none; }
.fl-fd-evt-jour { display: grid; place-items: center; min-width: 4.4rem; padding: .45rem .5rem; border-radius: .8rem; background: #001CA8; color: #fff; text-align: center; }
.fl-fd-evt-jour b { font: 800 1.45rem/1 var(--police-display); }
.fl-fd-evt-jour small { font: 700 .66rem var(--police-ui); letter-spacing: .06em; }
.fl-fd-evts-passes .fl-fd-evt-jour { background: #F5F5F5; color: #191970; }
.fl-fd-evt-texte { display: grid; gap: .2rem; min-width: 0; }
.fl-fd-evt-texte b { font: 700 1rem/1.3 var(--police-display); }
.fl-fd-evt-texte small { font-size: .84rem; color: rgba(18, 13, 22, .62); line-height: 1.4; }
.fl-fd-evt-cat { padding: .25rem .6rem; border-radius: 999px; font: 700 .68rem var(--police-ui); letter-spacing: .06em; text-transform: uppercase; background: rgba(0, 28, 168, .08); color: #001CA8; white-space: nowrap; }
.fl-fd-evt-competition { background: rgba(149, 7, 20, .08); color: #950714; }
@media (max-width: 560px) { .fl-fd-evt a { grid-template-columns: auto minmax(0, 1fr); } .fl-fd-evt-cat { grid-column: 2; justify-self: start; } }
.fl-fd .fl-instru-lib.fl-fd-espace { margin-top: 1.8rem; }
.fl-fd-actus { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: .9rem; }
.fl-fd-actus a { display: grid; align-content: start; gap: .4rem; height: 100%; padding: 1.15rem 1.2rem; border-radius: 1.1rem; background: #fff; border: 1px solid var(--filet); color: #120D16; text-decoration: none; transition: transform .25s, box-shadow .25s, border-color .25s; }
.fl-fd-actus a:hover, .fl-fd-actus a:focus-visible { transform: translateY(-2px); box-shadow: 0 20px 36px -26px rgba(0, 28, 168, .5); border-color: rgba(0, 28, 168, .3); outline: none; }
.fl-fd-actus time { font: 700 .72rem var(--police-ui); letter-spacing: .08em; text-transform: uppercase; color: #001CA8; }
.fl-fd-actus b { font: 800 1.05rem/1.3 var(--police-display); }
.fl-fd-actus span { font-size: .9rem; line-height: 1.5; color: rgba(18, 13, 22, .7); }
.fl-fd-comites { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14.5rem), 1fr)); gap: .6rem; }
.fl-fd-comites li { display: grid; border-radius: 1rem; background: #fff; border: 1px solid var(--filet); transition: border-color .2s, box-shadow .2s; }
.fl-fd-comites li[hidden] { display: none; }
.fl-fd-comites li.est-choisi { border-color: #001CA8; box-shadow: 0 0 0 3px rgba(0, 28, 168, .14); }
.fl-fd-comites li > a:first-child { display: grid; gap: .15rem; padding: .9rem 1rem; color: #120D16; text-decoration: none; }
.fl-fd-comites li > a:first-child:hover b, .fl-fd-comites li > a:first-child:focus-visible b { color: #001CA8; }
.fl-fd-comites b { font: 700 .98rem var(--police-display); }
.fl-fd-comites small { font-size: .82rem; color: rgba(18, 13, 22, .6); }
.fl-fd-comite-mail { padding: 0 1rem .9rem; font-size: .84rem; color: #001CA8; word-break: break-all; }

/* ── Nous écrire ── */
.fl-fd-contact-haut.v6-section { padding-top: clamp(2.4rem, 5vw, 4.4rem); }
.fl-fd-contact-rapide { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(1rem, 2.4vw, 1.8rem); align-items: stretch; }
.fl-fd-contact-principal { display: grid; align-content: start; gap: .8rem; padding: clamp(1.4rem, 3vw, 2.4rem); border-radius: 1.5rem; background: #001CA8; color: #fff; box-shadow: 0 30px 60px -40px rgba(0, 28, 168, .9); }
.fl-fd-contact-principal > * { margin: 0; }
.fl-fd-contact-principal .fl-instru-lib { color: rgba(245, 245, 245, .75); }
.fl-fd-contact-principal h2 { color: #fff; }
.fl-fd-contact-principal p { line-height: 1.55; color: rgba(255, 255, 255, .88); }
.fl-fd-courriel { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; }
.fl-fd-courriel a { font: 800 clamp(1.25rem, 1rem + 1vw, 1.7rem) var(--police-display); letter-spacing: -.02em; color: inherit; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; text-decoration-color: rgba(0, 28, 168, .35); word-break: break-all; }
.fl-fd-contact-principal .fl-fd-courriel a { color: #fff; text-decoration-color: rgba(255, 255, 255, .45); }
.fl-fd-contact-principal .fl-fd-copier { border-color: rgba(255, 255, 255, .45); color: #fff; }
.fl-fd-veille { padding: .8rem 1rem; border-radius: .9rem; background: rgba(255, 255, 255, .12); font-size: .9rem; }
.fl-fd-veille a { color: #fff; }
.fl-fd-avant { background: #F5F5F5; border-color: transparent; }
@media (max-width: 900px) { .fl-fd-contact-rapide { grid-template-columns: minmax(0, 1fr); } }
.fl-fd-copier { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; padding: .32rem .75rem; border-radius: 999px; border: 1px solid var(--filet-fort); font: 600 .8rem var(--police-ui); color: #001CA8; transition: background .2s, color .2s, border-color .2s; }
.fl-fd-copier:hover, .fl-fd-copier:focus-visible { border-color: currentColor; background: rgba(0, 28, 168, .06); }
.fl-fd-copier.est-copie { background: #001CA8; border-color: #001CA8; color: #fff; }
.fl-fd-sujets { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18.5rem), 1fr)); gap: 1rem; }
.fl-fd-sujet { display: grid; align-content: start; gap: .55rem; padding: 1.3rem 1.3rem 1.2rem; border-radius: 1.2rem; background: #fff; border: 1px solid var(--filet); scroll-margin-top: 9rem; transition: border-color .2s, box-shadow .2s; }
.fl-fd-sujet[hidden] { display: none; }
.fl-fd-sujet.est-choisi, .fl-fd-sujet:target { border-color: #001CA8; box-shadow: 0 0 0 3px rgba(0, 28, 168, .14); }
.fl-fd-sujet > * { margin: 0; }
.fl-fd-sujet-ico { width: 2.6rem; height: 2.6rem; padding: .6rem; border-radius: .8rem; background: rgba(0, 28, 168, .08); color: #001CA8; }
.fl-fd-sujet h3 { font: 800 1.15rem/1.25 var(--police-display); color: #120D16; }
.fl-fd-sujet > p { font-size: .93rem; line-height: 1.55; color: rgba(18, 13, 22, .74); }
.fl-fd-sujet ul { list-style: none; padding: .4rem 0 0; display: grid; gap: .1rem; border-top: 1px solid var(--filet); }
.fl-fd-sujet ul a { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .5rem 0; font: 700 .92rem var(--police-ui); color: #001CA8; text-decoration: none; }
.fl-fd-sujet ul a:hover, .fl-fd-sujet ul a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.fl-fd-sujet ul a .v6-fleche { flex: none; transition: transform .2s; }
.fl-fd-sujet ul a:hover .v6-fleche { transform: translateX(3px); }
.fl-fd-siege { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 2.6rem); align-items: start; }
@media (max-width: 900px) { .fl-fd-siege { grid-template-columns: minmax(0, 1fr); } }
.fl-fd-fiche { margin: 0; display: grid; gap: 0; border-radius: 1.3rem; background: #fff; border: 1px solid var(--filet); overflow: hidden; }
.fl-fd-fiche div { display: grid; grid-template-columns: minmax(8rem, 11rem) 1fr; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--filet); }
.fl-fd-fiche div:last-child { border-bottom: 0; }
.fl-fd-fiche dt { font: 700 .72rem var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: rgba(18, 13, 22, .55); padding-top: .2rem; }
.fl-fd-fiche dd { margin: 0; line-height: 1.55; color: #120D16; }
.fl-fd-fiche dd a { color: #001CA8; font-weight: 700; }
.fl-fd-fiche .fl-fd-copier { display: flex; width: fit-content; margin-top: .55rem; }
@media (max-width: 520px) { .fl-fd-fiche div { grid-template-columns: minmax(0, 1fr); gap: .3rem; } }
.fl-fd-plan { display: grid; gap: .8rem; }
.fl-fd-plan-carte { position: relative; border-radius: 1.3rem; overflow: hidden; background: #191970; color: rgba(245, 245, 245, .16); aspect-ratio: 16 / 10; }
.fl-fd-plan-carte svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.fl-fd-plan-fleuve { fill: none; stroke: rgba(0, 28, 168, .9); stroke-width: 9; stroke-linecap: round; }
.fl-fd-plan-point { fill: #F32837; stroke: #fff; stroke-width: 3; }
.fl-fd-plan-halo { fill: none; stroke: rgba(243, 40, 55, .45); stroke-width: 2; transform-origin: 168px 96px; animation: fl-fd-pouls 2.4s ease-out infinite; }
@keyframes fl-fd-pouls { from { transform: scale(.5); opacity: 1; } to { transform: scale(1.6); opacity: 0; } }
.fl-fd-plan-carte p { position: absolute; left: 1.1rem; bottom: 1rem; margin: 0; display: grid; padding: .7rem .95rem; border-radius: .9rem; background: #fff; color: #120D16; box-shadow: 0 14px 30px -18px rgba(18, 13, 22, .6); }
.fl-fd-plan-carte p b { font: 800 .98rem var(--police-display); }
.fl-fd-plan-carte p span { font-size: .86rem; color: rgba(18, 13, 22, .7); }
.fl-fd-plan-liens { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.fl-fd-plan-liens a { padding: .5rem .95rem; border-radius: 999px; border: 1px solid var(--filet-fort); font: 600 .88rem var(--police-ui); color: #120D16; text-decoration: none; }
.fl-fd-plan-liens a:hover, .fl-fd-plan-liens a:focus-visible { border-color: #001CA8; color: #001CA8; }
.fl-fd-plan .fl-fd-note { margin: 0; }
.fl-fd-reseaux { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; align-items: center; margin-top: clamp(1.6rem, 3vw, 2.4rem); }
.fl-fd-reseaux p { margin: 0; color: rgba(18, 13, 22, .55); }
.fl-fd-reseaux ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.fl-fd-reseaux a { display: inline-block; padding: .45rem .9rem; border-radius: 999px; background: #191970; color: #fff; font: 600 .86rem var(--police-ui); text-decoration: none; }
.fl-fd-reseaux a:hover, .fl-fd-reseaux a:focus-visible { background: #001CA8; }

/* ── Devenir instructeur ── */
.fl-fd-inst-bref.v6-section { padding-top: clamp(2.6rem, 5vw, 4.6rem); }
.fl-fd-bref { align-items: center; gap: clamp(1.6rem, 4vw, 3.5rem); }
.fl-fd-bref h2 { margin: .9rem 0 1.1rem; }
.fl-fd-bref .fl-fd-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fl-fd-aide { display: grid; align-content: start; gap: .5rem; padding: 1.5rem; border-radius: 1.3rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-aide > * { margin: 0; }
.fl-fd-aide h3 { font: 800 1.2rem var(--police-display); color: #120D16; }
.fl-fd-aide:first-child { background: #191970; border-color: #191970; color: #fff; }
.fl-fd-aide:first-child h3 { color: #fff; }
.fl-fd-aide:first-child .fl-instru-lib { color: rgba(245, 245, 245, .7); }
.fl-fd-aide:first-child p { color: rgba(255, 255, 255, .86); }
.fl-fd-montant { display: grid; font: 800 clamp(1.8rem, 1.3rem + 1.4vw, 2.5rem)/1.05 var(--police-display); letter-spacing: -.03em; color: #001CA8; }
.fl-fd-aide:first-child .fl-fd-montant { color: #fff; }
.fl-fd-montant small { font: 600 .82rem var(--police-ui); letter-spacing: 0; color: rgba(18, 13, 22, .58); }
.fl-fd-aide:first-child .fl-fd-montant small { color: rgba(245, 245, 245, .7); }
.fl-fd-aide p { line-height: 1.55; color: rgba(18, 13, 22, .76); }

/* ── Charte graphique ── */
.fl-fd-charte-intro.v6-section { padding-top: clamp(2.6rem, 5vw, 4.6rem); }
.fl-fd-charte-haut { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1.6rem, 4vw, 3.5rem); align-items: center; }
.fl-fd-charte-haut h2 { margin: .9rem 0 1.1rem; }
@media (max-width: 900px) { .fl-fd-charte-haut { grid-template-columns: minmax(0, 1fr); } }
.fl-fd-pdf { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: 1.3rem; align-items: center; padding: 1.2rem; border-radius: 1.5rem; background: #fff; border: 1px solid var(--filet); color: #120D16; text-decoration: none; box-shadow: 0 30px 60px -44px rgba(0, 28, 168, .6); transition: transform .3s, box-shadow .3s; }
.fl-fd-pdf:hover, .fl-fd-pdf:focus-visible { transform: translateY(-3px); box-shadow: 0 34px 64px -36px rgba(0, 28, 168, .65); outline: none; }
.fl-fd-pdf-visuel { display: block; }
.fl-fd-pdf-page { position: relative; display: grid; align-content: start; justify-items: start; gap: .3rem; aspect-ratio: 210 / 297; padding: 14% 12%; border-radius: .5rem; background: #F5F5F5; box-shadow: 0 1px 0 rgba(18, 13, 22, .08), 6px 6px 0 -1px #fff, 6px 6px 0 0 rgba(18, 13, 22, .1); overflow: hidden; transform: rotate(-2deg); transition: transform .4s; }
.fl-fd-pdf:hover .fl-fd-pdf-page { transform: rotate(0); }
.fl-fd-pdf-page img { width: 42%; height: auto; margin-bottom: .4rem; }
.fl-fd-pdf-page b { font: 800 .9rem/1.1 var(--police-display); color: #001CA8; }
.fl-fd-pdf-page i { font: 700 .72rem var(--police-ui); font-style: normal; color: rgba(18, 13, 22, .6); }
.fl-fd-pdf-bandes { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(6, 1fr); height: 14%; }
.fl-fd-pdf-bandes span:nth-child(1) { background: #001CA8; } .fl-fd-pdf-bandes span:nth-child(2) { background: #191970; } .fl-fd-pdf-bandes span:nth-child(3) { background: #120D16; }
.fl-fd-pdf-bandes span:nth-child(4) { background: #fff; } .fl-fd-pdf-bandes span:nth-child(5) { background: #950714; } .fl-fd-pdf-bandes span:nth-child(6) { background: #F32837; }
.fl-fd-pdf-texte { display: grid; gap: .3rem; }
.fl-fd-pdf-texte b { font: 800 1.35rem/1.15 var(--police-display); letter-spacing: -.02em; }
.fl-fd-pdf-texte small { font-size: .88rem; color: rgba(18, 13, 22, .6); }
.fl-fd-pdf-action { display: inline-flex; gap: .5rem; align-items: center; margin-top: .6rem; font: 700 .95rem var(--police-display); color: #001CA8; }
@media (max-width: 420px) { .fl-fd-pdf { grid-template-columns: minmax(0, 7rem) minmax(0, 1fr); } }
.fl-fd-fonds { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.1rem; }
.fl-fd-fonds button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; gap: .5rem; align-items: center; padding: .45rem .9rem .45rem .5rem; border-radius: 999px; background: #fff; border: 1px solid var(--filet); font: 600 .88rem var(--police-ui); color: #120D16; }
.fl-fd-fonds button i { width: 1.3rem; height: 1.3rem; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .18); }
.fl-fd-fonds button[aria-pressed="true"] { border-color: #001CA8; box-shadow: 0 0 0 2px #001CA8; }
.fl-fd-fonds button:focus-visible { outline: 2px solid #001CA8; outline-offset: 2px; }
.fl-fd-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 900px) { .fl-fd-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .fl-fd-logos { grid-template-columns: minmax(0, 1fr); } }
.fl-fd-logo { display: grid; grid-template-rows: auto 1fr; border-radius: 1.2rem; background: #fff; border: 1px solid var(--filet); overflow: hidden; }
.fl-fd-logo-large { grid-column: span 2; }
@media (max-width: 560px) { .fl-fd-logo-large { grid-column: auto; } }
.fl-fd-logo-apercu { display: grid; place-items: center; aspect-ratio: 16 / 10; padding: 1.4rem; background: #fff; transition: background .3s; }
.fl-fd-logo-large .fl-fd-logo-apercu { aspect-ratio: auto; height: calc(100% - 0px); min-height: 10rem; }
.fl-fd-logo-large .fl-fd-logo-apercu img { width: 100%; max-height: none; }
.fl-fd-logo-apercu img { max-width: 100%; max-height: 9rem; width: auto; height: auto; object-fit: contain; }
.fl-fd-logos[data-fond="fumee"] .fl-fd-logo-apercu { background: #F5F5F5; }
.fl-fd-logos[data-fond="klein"] .fl-fd-logo-apercu { background: #001CA8; }
.fl-fd-logos[data-fond="noir"] .fl-fd-logo-apercu { background: #120D16; }
.fl-fd-logo-texte { display: grid; align-content: start; gap: .2rem; padding: 1rem 1.1rem 1.1rem; border-top: 1px solid var(--filet); }
.fl-fd-logo-texte b { font: 800 1rem var(--police-display); }
.fl-fd-logo-texte small { font-size: .84rem; color: rgba(18, 13, 22, .66); line-height: 1.4; }
.fl-fd-logo-texte span { font: 600 .74rem var(--police-ui); letter-spacing: .04em; color: rgba(18, 13, 22, .5); }
.fl-fd-telecharger { justify-self: start; display: inline-flex; gap: .4rem; align-items: center; margin-top: .45rem; padding: .4rem .85rem; border-radius: 999px; background: #001CA8; color: #fff; font: 700 .84rem var(--police-ui); text-decoration: none; }
.fl-fd-telecharger:hover, .fl-fd-telecharger:focus-visible { background: #191970; }
.fl-fd-couleurs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1rem; }
@media (min-width: 960px) { .fl-fd-couleurs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fl-fd-couleur { display: grid; grid-template-rows: auto 1fr; border-radius: 1.3rem; background: #fff; border: 1px solid var(--filet); overflow: hidden; }
.fl-fd-couleur-pastille { display: block; height: 7.5rem; background: var(--c); }
.fl-fd-couleur-claire { box-shadow: inset 0 -1px 0 var(--filet); }
.fl-fd-couleur > div { display: grid; align-content: start; gap: .25rem; padding: 1rem 1.15rem 1.15rem; }
.fl-fd-couleur b { font: 800 1.08rem var(--police-display); color: #120D16; }
.fl-fd-couleur small { font-size: .84rem; color: rgba(18, 13, 22, .6); }
.fl-fd-couleur p { margin: .2rem 0 0; font-size: .9rem; line-height: 1.45; color: rgba(18, 13, 22, .74); }
.fl-fd-valeurs { display: flex; flex-wrap: wrap; gap: .4rem; padding-top: .35rem; }
.fl-fd-copier-valeur { font: 700 .82rem ui-monospace, 'SFMono-Regular', Menlo, monospace; color: #120D16; }
.fl-fd-copier-valeur span { font: 700 .66rem var(--police-ui); letter-spacing: .08em; color: rgba(18, 13, 22, .5); }
.fl-fd-copier-valeur.est-copie span { color: rgba(255, 255, 255, .75); }
.fl-fd-essai { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(1rem, 2.4vw, 2rem); margin-top: clamp(1.6rem, 3vw, 2.4rem); padding: clamp(1.1rem, 2.4vw, 1.6rem); border-radius: 1.4rem; background: #F5F5F5; }
@media (max-width: 800px) { .fl-fd-essai { grid-template-columns: minmax(0, 1fr); } }
.fl-fd-essai-reglages { display: grid; align-content: start; gap: .9rem; }
.fl-fd-essai-reglages .fl-instru-lib { margin: 0; }
.fl-fd-essai fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.fl-fd-essai legend { width: 100%; margin-bottom: .4rem; font: 700 .8rem var(--police-ui); color: rgba(18, 13, 22, .62); }
.fl-fd-essai label { position: relative; cursor: pointer; }
.fl-fd-essai input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fl-fd-essai label i { display: block; width: 2.3rem; height: 2.3rem; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .2); transition: transform .2s, box-shadow .2s; }
.fl-fd-essai input:checked + i { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #001CA8; transform: scale(1.05); }
.fl-fd-essai input:focus-visible + i { outline: 2px solid #001CA8; outline-offset: 4px; }
.fl-fd-essai-resultat { display: grid; gap: .15rem; margin: 0; padding: .8rem 1rem; border-radius: .9rem; background: #fff; border-left: 4px solid #001CA8; }
.fl-fd-essai-resultat b { font: 800 1.1rem var(--police-display); }
.fl-fd-essai-resultat span { font-size: .88rem; color: rgba(18, 13, 22, .7); }
.fl-fd-essai-resultat.est-moyen { border-left-color: #950714; }
.fl-fd-essai-resultat.est-faible { border-left-color: #F32837; }
.fl-fd-essai-apercu { display: grid; align-content: center; gap: .5rem; min-height: 14rem; padding: clamp(1.4rem, 3vw, 2.4rem); border-radius: 1.1rem; background: #001CA8; color: #fff; transition: background .3s, color .3s; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); }
.fl-fd-essai-apercu p { margin: 0; color: inherit; }
.fl-fd-essai-sur { font: 600 .76rem var(--police-display); letter-spacing: .12em; text-transform: uppercase; opacity: .8; }
.fl-fd-essai-titre { font: 800 clamp(1.6rem, 1.1rem + 2vw, 2.6rem)/1.05 var(--police-display); letter-spacing: -.03em; }
.fl-fd-essai-texte { font: 400 1.05rem/1.5 var(--police-texte); max-width: 30rem; }
.fl-fd-police { display: grid; align-content: start; gap: .5rem; padding: clamp(1.3rem, 3vw, 2rem); border-radius: 1.4rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-police > * { margin: 0; }
.fl-fd-police-aa { font-size: clamp(4rem, 3rem + 4vw, 6.5rem); line-height: .9; color: #001CA8; letter-spacing: -.04em; }
.fl-fd-police-montserrat .fl-fd-police-aa, .fl-fd-police-montserrat h3, .fl-fd-police-montserrat .fl-fd-police-graisses, .fl-fd-police-montserrat .fl-fd-police-alpha { font-family: 'Montserrat', var(--police-display); }
.fl-fd-police-cabin .fl-fd-police-aa, .fl-fd-police-cabin h3, .fl-fd-police-cabin .fl-fd-police-graisses, .fl-fd-police-cabin .fl-fd-police-alpha { font-family: 'Cabin', var(--police-texte); }
.fl-fd-police-montserrat .fl-fd-police-aa { font-weight: 800; }
.fl-fd-police-cabin .fl-fd-police-aa { font-weight: 600; color: #191970; }
.fl-fd-police h3 { font-size: 1.6rem; font-weight: 700; color: #120D16; }
.fl-fd-police-graisses { display: flex; flex-wrap: wrap; gap: .3rem .9rem; font-size: 1.05rem; color: #120D16; }
.fl-fd-police-alpha { padding: .8rem 0; border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); font-size: 1.02rem; line-height: 1.6; letter-spacing: .02em; color: rgba(18, 13, 22, .8); word-break: break-all; }
.fl-fd-regles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; counter-reset: regle; }
.fl-fd-regles li { counter-increment: regle; display: grid; align-content: start; gap: .45rem; padding: 1.3rem 1.3rem 1.2rem; border-radius: 1.2rem; background: #fff; border: 1px solid var(--filet); }
.fl-fd-regles li::before { content: counter(regle, decimal-leading-zero); font: 800 1.5rem var(--police-display); color: #001CA8; letter-spacing: -.03em; }
.fl-fd-regles b { font: 800 1.08rem var(--police-display); color: #120D16; }
.fl-fd-regles span { line-height: 1.55; color: rgba(18, 13, 22, .76); }

/* Texte d'une page modifiée dans le back-office */
.fl-fd-texte .fl-fd-prose { max-width: 48rem; }

@media (prefers-reduced-motion: reduce) { .fl-fd-carte, .fl-fd-doc a, .fl-fd-mission::after, .fl-fd-pdf, .fl-fd-pdf-page, .fl-fd-plan-halo { transition: none; animation: none; } }

/* « Prendre ma licence » : lien vers la page licence, mis en avant (remarque n° 151) */
.fl-fd-choix a.fl-fd-choix-principal { background: #001CA8; border-color: #001CA8; color: #fff; box-shadow: 0 24px 46px -28px rgba(0, 28, 168, .75); }
.fl-fd-choix a.fl-fd-choix-principal:hover { background: #191970; border-color: #191970; }

/* Téléphone (demande d'Alexis du 11/10/2026) : les onglets des pôles passent à la ligne au lieu de défiler de côté. */
@media (max-width: 700px) {
  .fl-fd-poles-onglets { flex-wrap: wrap; overflow: visible; gap: .5rem; padding: .1rem; }
  .fl-fd-poles-onglets button { flex: 0 1 auto; min-height: 2.75rem; }
}
/* Sommaire collant de la page : il défile de côté (une seule ligne, pour rester discret) ; un fondu à droite montre qu'il y a
   d'autres rubriques. */
@media (max-width: 700px) {
  .fl-fd-nav ul { padding-right: 2.2rem; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 2.6rem), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 2.6rem), transparent); }
}
