/* Pratiquer : Médical, Handivol, Mécanique, Exam ULM, Documents réglementaires, Espace aérien, OPS ULM, Le BIA, Subventions,
   Préparez vos vols, Terrains (modules-pages/pratiquer-reglementation.mjs, js/pratiquer-reglementation.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. */

/* ── Éléments communs ── */
.fl-pr-etiquette { display: inline-flex; align-items: center; gap: .4rem; margin: 0; font: 700 .7rem var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: #001CA8; }
.fl-pr-etiquette::before { content: ''; width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; flex: none; }
.fl-pr-surtitre { margin: 0 0 .9rem; font: 700 .72rem var(--police-ui); letter-spacing: .12em; text-transform: uppercase; color: #001CA8; display: flex; align-items: center; gap: .6rem; }
.fl-pr-surtitre::after { content: ''; flex: 1; height: 1px; background: var(--filet); }
.fl-pr-h2 { margin: 0 0 1.1rem; font: 800 clamp(1.6rem, 2.6vw, 2.2rem)/1.12 var(--police-display); letter-spacing: -.025em; color: #120D16; text-wrap: balance; }
.fl-pr-h2 em { font-style: italic; color: #001CA8; font-weight: 700; }
.fl-pr-chapo { font-size: 1.06rem; line-height: 1.65; color: rgba(18, 13, 22, .8); margin: 0 0 1.2rem; max-width: 66ch; }
.fl-pr-h2 + .fl-pr-chapo { margin-top: -.2rem; }
.fl-pr-petit { margin: 1.1rem 0 0; font-size: .9rem; line-height: 1.55; color: rgba(18, 13, 22, .7); }
.fl-pr-petit .fl-pr-lien { margin-left: .25rem; }
.fl-pr-lien { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; }
.fl-pr-manque { margin: 1.6rem 0 0; padding: .75rem 1rem; border-left: 3px solid rgba(0, 28, 168, .35); background: rgba(0, 28, 168, .04); border-radius: 0 .7rem .7rem 0; font-size: .88rem; line-height: 1.5; color: rgba(18, 13, 22, .7); max-width: 80ch; }
.v6-sombre .fl-pr-manque { background: rgba(245, 245, 245, .06); border-left-color: rgba(245, 245, 245, .4); color: rgba(245, 245, 245, .78); }
.fl-pr-boutons { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; align-items: center; margin: 1.4rem 0 0; }
.fl-pr-offre-liens { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin: .4rem 0 0; }
.fl-pr-bloc { margin: 0 0 3rem; scroll-margin-top: 6.5rem; }
.fl-pr-bloc:last-child { margin-bottom: 0; }
.fl-pr-intro-grille { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(1.6rem, 5vw, 4.5rem); align-items: start; }
.fl-pr-intro-grille > * { min-width: 0; }
.fl-pr-cote-colonne { display: grid; gap: 1rem; align-content: start; }
.fl-pr-texte-clair { color: rgba(245, 245, 245, .85); line-height: 1.65; margin: 1.2rem 0 0; max-width: 60ch; }
.fl-pr .fl-entete { margin-bottom: 0; }
.fl-pr-intro-grille .fl-entete { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
.fl-pr-intro-grille .fl-entete-chapo { max-width: 40rem; font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.6; }
.fl-pr .fl-entete + * { margin-top: 1.8rem; }

/* L’essentiel */
.fl-pr-essentiel { margin: 0 0 2.6rem; padding: 1.3rem 1.4rem 1.4rem; border-radius: 1.2rem; background: #F5F5F5; border-left: 4px solid #001CA8; }
.fl-pr-essentiel-titre { margin: 0 0 .8rem; font: 800 .78rem var(--police-ui); letter-spacing: .12em; text-transform: uppercase; color: #001CA8; }
.fl-pr-essentiel ul, .fl-pr-coches { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.fl-pr-essentiel li, .fl-pr-coches li { display: flex; gap: .75rem; align-items: flex-start; line-height: 1.55; color: rgba(18, 13, 22, .86); }
.fl-pr-essentiel svg, .fl-pr-coches svg { flex: none; margin-top: .22rem; width: 1rem; height: 1rem; padding: .2rem; box-sizing: content-box; border-radius: 50%; background: #001CA8; color: #fff; }

/* Chiffres clés */
.fl-pr-chiffres { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .8rem; }
.fl-pr-chiffres-deux { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fl-pr-chiffres li { display: grid; gap: .35rem; align-content: start; padding: 1.15rem 1.2rem; border-radius: 1.1rem; background: #fff; border: 1px solid var(--filet); }
.v6-papier-2 .fl-pr-chiffres li { background: #fff; }
.fl-pr-chiffres b { font: 800 clamp(1.7rem, 3vw, 2.4rem)/1.02 var(--police-display); letter-spacing: -.035em; color: #001CA8; overflow-wrap: anywhere; }
.fl-pr-chiffres span { font-size: .88rem; line-height: 1.42; color: rgba(18, 13, 22, .72); }
.fl-pr-chiffres small { font-size: .76rem; color: rgba(18, 13, 22, .5); }
.fl-pr-bande { padding-block: clamp(1.6rem, 3vw, 2.4rem); }
.fl-pr-bande .fl-pr-chiffres li { background: #F5F5F5; border-color: transparent; }

/* Étapes */
.fl-pr-etapes { list-style: none; counter-reset: pr; margin: 1.6rem 0 0; padding: 0; display: grid; gap: 0; }
.fl-pr-etapes > li { counter-increment: pr; position: relative; display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .9rem; padding: 0 0 1.25rem; }
.fl-pr-etape-num { position: relative; z-index: 1; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; background: #001CA8; color: #fff; font: 800 .92rem var(--police-display); }
.fl-pr-etape-num::before { content: counter(pr); }
.fl-pr-etapes > li:not(:last-child)::after { content: ''; position: absolute; left: 1.15rem; top: 2.5rem; bottom: .1rem; border-left: 2px dotted rgba(0, 28, 168, .45); }
.fl-pr-etapes b { display: block; font: 800 1.02rem/1.3 var(--police-display); padding-top: .45rem; color: #120D16; }
.fl-pr-etapes p { margin: .3rem 0 0; font-size: .94rem; line-height: 1.55; color: rgba(18, 13, 22, .74); }
.fl-pr-etapes-mini { margin-top: .4rem; }
.fl-pr-etapes-mini .fl-pr-etape-num { width: 2rem; height: 2rem; font-size: .8rem; }
.fl-pr-etapes-mini > li { grid-template-columns: 2rem minmax(0, 1fr); }
.fl-pr-etapes-mini > li:not(:last-child)::after { left: .95rem; top: 2.1rem; }
.fl-pr-etapes-mini b { padding-top: .3rem; font-size: .95rem; }

/* Puces, citations, adresse */
.fl-pr-puces { margin: .6rem 0 0; padding-left: 1.15rem; display: grid; gap: .45rem; line-height: 1.5; }
.fl-pr-puces li::marker { color: #001CA8; }
.fl-pr-citation { margin: 0; padding: 1.4rem 1.5rem; border-radius: 1.2rem; background: #001CA8; color: #fff; }
.fl-pr-citation p { margin: 0; font: 600 clamp(1.08rem, 1.7vw, 1.3rem)/1.5 var(--police-display); }
.fl-pr-citation p::before { content: '« '; } .fl-pr-citation p::after { content: ' »'; }
.fl-pr-citation footer { margin-top: .8rem; font-size: .85rem; color: rgba(255, 255, 255, .78); }
.v6-sombre .fl-pr-citation { background: rgba(245, 245, 245, .08); border: 1px solid rgba(245, 245, 245, .18); }
.fl-pr-adresse { font-style: normal; display: grid; gap: .2rem; padding: 1.1rem 1.25rem; border-radius: 1rem; background: #fff; border: 1px solid var(--filet); line-height: 1.5; }
.fl-pr-adresse .fl-instru-lib { margin: 0 0 .35rem; }
.fl-pr-adresse b { font: 800 1.05rem var(--police-display); }

/* Segments (filtres, onglets) */
.fl-pr-segments { display: inline-flex; flex-wrap: wrap; gap: .25rem; padding: .25rem; border-radius: 1.4rem; background: #F5F5F5; border: 1px solid var(--filet); max-width: 100%; }
.v6-papier-2 .fl-pr-segments { background: #fff; }
.fl-pr-segments button { all: unset; box-sizing: border-box; cursor: pointer; padding: .55rem 1rem; border-radius: 999px; font: 600 .88rem var(--police-ui); color: rgba(18, 13, 22, .75); display: inline-flex; gap: .4rem; align-items: center; }
.fl-pr-segments button small { font: 700 .72rem var(--police-ui); color: rgba(18, 13, 22, .5); }
.fl-pr-segments button[aria-pressed="true"], .fl-pr-segments button[aria-selected="true"] { background: #001CA8; color: #fff; box-shadow: 0 4px 12px -6px rgba(0, 28, 168, .6); }
.fl-pr-segments button[aria-pressed="true"] small { color: rgba(255, 255, 255, .78); }
.fl-pr-segments button:focus-visible { outline: 2px solid #001CA8; outline-offset: 2px; }

/* Choix « selon votre situation » */
.fl-pr-choix { display: grid; gap: 1rem; }
.fl-pr-panneau { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(1rem, 3vw, 2rem); padding: clamp(1.2rem, 3vw, 1.8rem); border-radius: 1.3rem; background: #fff; border: 1px solid var(--filet); box-shadow: 0 26px 50px -42px rgba(0, 28, 168, .55); }
.fl-pr-panneau[hidden] { display: none; }
.fl-pr-panneau:not(:has(.fl-pr-panneau-cote)) { grid-template-columns: minmax(0, 1fr); }
.fl-pr-panneau h3 { margin: .55rem 0 .7rem; font: 800 1.25rem/1.25 var(--police-display); letter-spacing: -.015em; text-wrap: balance; }
.fl-pr-panneau-texte p { margin: 0 0 .7rem; line-height: 1.62; color: rgba(18, 13, 22, .82); }
.fl-pr-panneau-cote { align-self: start; padding: 1rem 1.1rem; border-radius: 1rem; background: #F5F5F5; display: grid; gap: .5rem; min-width: 0; }
.fl-pr-panneau-cote .fl-instru-lib { margin: 0; }
.fl-pr-panneau-cote .fl-pr-adresse { background: #fff; }

/* Documents */
.fl-pr-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: .65rem; }
.fl-pr-docs-court { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
.fl-pr-doc[hidden] { display: none; }
.fl-pr-doc > a, .fl-pr-doc > .fl-pr-doc-sans { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: .85rem; align-items: center; height: 100%; box-sizing: border-box; padding: .75rem .9rem; 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-pr-doc > a:hover, .fl-pr-doc > a:focus-visible { border-color: #001CA8; box-shadow: 0 14px 28px -20px rgba(0, 28, 168, .55); transform: translateY(-1px); outline: none; }
.fl-pr-doc > .fl-pr-doc-sans { border-style: dashed; }
.fl-pr-doc-type { display: grid; place-items: center; min-width: 2.7rem; height: 2.7rem; padding: 0 .35rem; box-sizing: border-box; border-radius: .7rem; background: rgba(0, 28, 168, .08); color: #001CA8; font: 800 .64rem var(--police-display); letter-spacing: .06em; }
.fl-pr-doc-texte { display: grid; gap: .15rem; min-width: 0; }
.fl-pr-doc-texte b { font: 600 .93rem/1.35 var(--police-ui); overflow-wrap: anywhere; }
.fl-pr-doc-texte small { font-size: .78rem; line-height: 1.4; color: rgba(18, 13, 22, .58); overflow-wrap: anywhere; }
.fl-pr-doc-fleche { color: #001CA8; }
.fl-pr-panneau-cote .fl-pr-doc > a { background: #fff; }

/* Bibliothèque réglementaire */
.fl-pr-biblio { margin-top: 2.2rem; display: grid; gap: 1rem; }
.fl-pr-outils { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; align-items: center; justify-content: space-between; }
.fl-pr-cherche { flex: 0 1 30rem; display: flex; align-items: center; gap: .55rem; padding: 0 1rem; min-height: 3rem; border-radius: 999px; background: #fff; border: 1px solid var(--filet-fort); }
.fl-pr-cherche:focus-within { border-color: #001CA8; box-shadow: 0 0 0 3px rgba(0, 28, 168, .14); }
.fl-pr-cherche svg { width: 1.1rem; height: 1.1rem; color: #001CA8; flex: none; }
.fl-pr-cherche input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 1rem; color: #120D16; padding: .65rem 0; outline: none; box-shadow: none; appearance: none; }
.fl-pr-compte { margin: 0; font: 700 .85rem var(--police-ui); color: rgba(18, 13, 22, .6); }
.fl-pr-biblio-groupe { margin-top: 1.6rem; scroll-margin-top: 7rem; }   /* 10/10 : thèmes un peu plus détachés des filtres et entre eux */
.fl-pr-biblio-groupe[hidden] { display: none; }
.fl-pr-biblio-groupe h3 { display: flex; align-items: baseline; gap: .7rem; margin: 0 0 1.05rem; padding-bottom: .5rem; border-bottom: 2px solid #001CA8; font: 800 1.15rem var(--police-display); color: #191970; }
.fl-pr-biblio-groupe h3 small { font: 700 .75rem var(--police-ui); color: rgba(18, 13, 22, .5); }
.fl-pr-vide { padding: 1.6rem; border: 1px dashed var(--filet-fort); border-radius: 1rem; text-align: center; color: rgba(18, 13, 22, .65); margin: 0; }
.fl-pr-prose-liste .tm-article-container { padding: 1rem 0; }
.fl-pr-prose-liste span[style] { font-size: inherit !important; }
.fl-pr-prose-liste hr { border: 0; border-top: 1px solid var(--filet); margin: .5rem 0; }

/* Fiches (identification de l’ULM, parties de l’arrêté) */
.fl-pr-fiches, .fl-pr-parties { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1rem; }
.fl-pr-parties { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.fl-pr-fiches li, .fl-pr-parties li { padding: 1.2rem 1.3rem; border-radius: 1.1rem; background: #fff; border: 1px solid var(--filet); border-top: 4px solid #001CA8; }
.fl-pr-fiches b, .fl-pr-parties b { font: 800 1.05rem/1.3 var(--police-display); color: #120D16; }
.fl-pr-fiches p, .fl-pr-parties p { margin: .5rem 0 0; font-size: .93rem; line-height: 1.58; color: rgba(18, 13, 22, .78); }
.fl-pr-parties { counter-reset: partie; }
.fl-pr-parties li { counter-increment: partie; position: relative; }
.fl-pr-parties li::before { content: counter(partie, decimal-leading-zero); display: block; margin-bottom: .4rem; font: 800 .8rem var(--police-display); color: #001CA8; letter-spacing: .06em; }

/* Encadrés d’action et appels */
.fl-pr-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "lib fleche" "titre fleche"; align-items: center; gap: .25rem 1rem; padding: 1.2rem 1.35rem; border-radius: 1.2rem; background: #001CA8; color: #fff; text-decoration: none; transition: background .2s, transform .2s; }
.fl-pr-action .fl-instru-lib { grid-area: lib; margin: 0; color: rgba(255, 255, 255, .78); }
.fl-pr-action b { grid-area: titre; font: 800 1.15rem/1.25 var(--police-display); }
.fl-pr-action svg { grid-area: fleche; }
.fl-pr-action:hover, .fl-pr-action:focus-visible { background: #191970; outline: none; transform: translateY(-2px); }
.fl-pr-action-clair { background: #fff; color: #120D16; border: 1px solid var(--filet); }
.fl-pr-action-clair .fl-instru-lib { color: #001CA8; }
.fl-pr-action-clair svg { color: #001CA8; }
.fl-pr-action-clair:hover, .fl-pr-action-clair:focus-visible { background: #F5F5F5; border-color: #001CA8; }
.fl-pr-appel { padding: 1.25rem 1.35rem; border-radius: 1.2rem; background: #F5F5F5; display: grid; gap: .6rem; align-content: start; }
.v6-papier-2 .fl-pr-appel { background: #fff; border: 1px solid var(--filet); }
.fl-pr-appel .fl-instru-lib { margin: 0; }
.fl-pr-appel > p:not(.fl-instru-lib) { margin: 0; line-height: 1.6; color: rgba(18, 13, 22, .8); }
.fl-pr-appel .fl-pr-boutons { margin-top: .4rem; }
.fl-pr-appel-bleu, .v6-papier-2 .fl-pr-appel-bleu { background: #191970; color: #fff; border: 0; }
.fl-pr-appel-bleu .fl-instru-lib { color: rgba(255, 255, 255, .72); }
.fl-pr-appel-bleu > p:not(.fl-instru-lib), .fl-pr-appel-bleu .fl-pr-puces { color: rgba(255, 255, 255, .88); }
.fl-pr-appel-bleu .fl-pr-puces li::marker { color: #F32837; }
.fl-pr-appel-bleu .fl-pr-doc > a { background: rgba(255, 255, 255, .96); }
.fl-pr-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.4rem; margin: 2.6rem 0 0; padding-top: 1.8rem; border-top: 1px solid var(--filet); scroll-margin-top: 6.5rem; }
.fl-pr-duo > div { display: grid; gap: .6rem; align-content: start; min-width: 0; }
.fl-pr-duo .fl-instru-lib { margin: 0; }
.fl-pr-duo-large { margin-top: 2.4rem; border-top: 0; padding-top: 0; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; }

/* Encarts (pages liées) et articles */
.fl-pr-encarts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr)); gap: 1rem; margin-top: 1.8rem; }
.fl-pr-encart { position: relative; display: grid; gap: .4rem; align-content: start; padding: 1.3rem 1.35rem 2.9rem; border-radius: 1.2rem; background: #F5F5F5; color: #120D16; text-decoration: none; border: 1px solid transparent; transition: border-color .2s, transform .2s, box-shadow .2s; }
.v6-papier-2 .fl-pr-encart { background: #fff; }
.fl-pr-encart .fl-instru-lib { margin: 0; }
.fl-pr-encart b { font: 800 1.1rem/1.25 var(--police-display); }
.fl-pr-encart > span:not(.fl-instru-lib) { color: rgba(18, 13, 22, .7); font-size: .92rem; line-height: 1.5; }
.fl-pr-encart i { position: absolute; left: 1.35rem; bottom: 1.05rem; color: #001CA8; font-style: normal; }
.fl-pr-encart:hover, .fl-pr-encart:focus-visible { border-color: #001CA8; transform: translateY(-2px); box-shadow: 0 20px 40px -30px rgba(0, 28, 168, .6); outline: none; }
.fl-pr-articles { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1.1rem; }
.fl-pr-article a { display: flex; flex-direction: column; height: 100%; border-radius: 1.15rem; overflow: hidden; 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-pr-article a:hover, .fl-pr-article a:focus-visible { transform: translateY(-4px); box-shadow: 0 24px 44px -28px rgba(0, 28, 168, .5); border-color: rgba(0, 28, 168, .3); outline: none; }
.fl-pr-article-visuel { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #F5F5F5; }
.fl-pr-article-visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.fl-pr-article a:hover .fl-pr-article-visuel img { transform: scale(1.05); }
.fl-pr-article-texte { display: grid; gap: .45rem; padding: 1rem 1.1rem 1.15rem; align-content: start; flex: 1; }
.fl-pr-article-texte b { font: 800 1.02rem/1.3 var(--police-display); letter-spacing: -.01em; text-wrap: balance; }
.fl-pr-article-texte > span { font-size: .88rem; line-height: 1.5; color: rgba(18, 13, 22, .7); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fl-pr-article-texte time { font-size: .8rem; color: rgba(18, 13, 22, .52); margin-top: auto; }

/* Vidéos */
.fl-pr-videos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1.2rem; margin-top: 1.8rem; }
.fl-pr-videos-une { margin-top: 0; grid-template-columns: minmax(0, 1fr); }
.fl-pr-video { margin: 0; display: grid; gap: .5rem; min-width: 0; }
.fl-pr-video .fl-integration { margin: 0; }
.fl-pr-video figcaption { font: 600 .9rem var(--police-ui); color: rgba(18, 13, 22, .7); }
.fl-pr-intro-video { align-items: center; }

/* ═══ Médical ═══ */
.fl-pr-page .fl-prose > :first-child { margin-top: 0; }
.fl-pr-page .fl-prose pre { font: inherit; white-space: normal; background: none; padding: 0; margin: 0; }
.fl-pr-page .fl-prose table pre a { font-weight: 700; }

/* ═══ Handivol ═══ */
.fl-pr-voies-grille { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.fl-pr-voies-grille li { display: flex; flex-direction: column; gap: .55rem; padding: 1.3rem 1.25rem 1.35rem; border-radius: 1.25rem; background: #fff; border: 1px solid var(--filet); }
.fl-pr-voie-num { font: 900 2.4rem/1 var(--police-display); color: transparent; -webkit-text-stroke: 1.5px #001CA8; letter-spacing: -.04em; }
.fl-pr-voies-grille h3 { margin: 0; font: 800 1.15rem/1.25 var(--police-display); }
.fl-pr-voies-grille p { margin: 0; font-size: .92rem; line-height: 1.55; color: rgba(18, 13, 22, .76); }
.fl-pr-voies-grille .fl-pr-voie-aide { margin-top: auto; padding-top: .8rem; border-top: 1px solid var(--filet); display: grid; gap: .15rem; }
.fl-pr-voie-aide b { font: 800 1.5rem var(--police-display); color: #001CA8; letter-spacing: -.02em; }
.fl-pr-voie-aide span { font-size: .82rem; line-height: 1.4; color: rgba(18, 13, 22, .62); }
.fl-pr-classes { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.fl-pr-classes li { display: grid; gap: .3rem; justify-items: start; padding: 1rem; border-radius: 1rem; background: #F5F5F5; }
.fl-pr-classe-dessin { position: relative; display: grid; place-items: center; width: 4.6rem; height: 4.6rem; border-radius: 1rem; background: #fff; margin-bottom: .3rem; }
.fl-pr-classe-dessin img { width: 3.6rem; height: 3.6rem; object-fit: contain; }
.fl-pr-classe-sans { font: 900 2.2rem/1 var(--police-display); color: rgba(0, 28, 168, .2); }
.fl-pr-classe-dessin i { position: absolute; right: -.45rem; top: -.45rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; display: grid; place-items: center; background: #001CA8; color: #fff; font: 800 .78rem var(--police-display); font-style: normal; }
.fl-pr-classes b { font: 800 .98rem/1.3 var(--police-display); }
.fl-pr-classes small { font-size: .82rem; color: rgba(18, 13, 22, .62); line-height: 1.4; }
.fl-pr-partenaires-grille { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.fl-pr-partenaires-grille li { display: grid; gap: .4rem; padding: 1.4rem 1.4rem 1.5rem; border-radius: 1.2rem; background: rgba(245, 245, 245, .06); border: 1px solid rgba(245, 245, 245, .18); }
.fl-pr-partenaires-grille b { font: 800 1.3rem/1.2 var(--police-display); color: #fff; }
.fl-pr-partenaires-grille span { color: rgba(245, 245, 245, .8); font-size: .94rem; line-height: 1.5; }

/* ═══ Mécanique ═══ */
.fl-pr-objectifs { list-style: none; margin: 2.4rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.fl-pr-objectifs li { display: grid; gap: .6rem; padding: 1.3rem 1.3rem 1.4rem; border-radius: 1.2rem; background: #F5F5F5; }
.fl-pr-objectifs span { font: 900 2.2rem/1 var(--police-display); color: #001CA8; letter-spacing: -.04em; }
.fl-pr-objectifs p { margin: 0; font: 600 1.02rem/1.45 var(--police-display); color: #120D16; }
.fl-pr-niveaux { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: 1rem; }
.fl-pr-niveaux > li { display: grid; gap: .7rem; align-content: start; padding: 1.35rem; border-radius: 1.25rem; background: #fff; border: 1px solid var(--filet); }
.fl-pr-niveaux > li:nth-child(2) { border-color: #001CA8; box-shadow: 0 24px 48px -36px rgba(0, 28, 168, .6); }
.fl-pr-niveau-tete { display: flex; align-items: center; gap: .7rem; margin: 0; }
.fl-pr-niveau-num { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: .8rem; background: #001CA8; color: #fff; font: 800 1.05rem var(--police-display); }
.fl-pr-niveau-tete b { font: 800 1.3rem var(--police-display); }
.fl-pr-niveau-moteurs { display: flex; gap: .4rem; margin: 0; }
.fl-pr-niveau-moteurs span { padding: .25rem .65rem; border-radius: 999px; background: rgba(0, 28, 168, .08); color: #001CA8; font: 700 .76rem var(--police-ui); }
.fl-pr-niveaux > li > p:last-child { margin: 0; line-height: 1.55; color: rgba(18, 13, 22, .78); }
.fl-pr-mots { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.fl-pr-mots li { padding: .35rem .75rem; border-radius: 999px; background: #F5F5F5; border: 1px solid var(--filet); font: 600 .84rem var(--police-ui); color: #120D16; }
.fl-pr-matieres { margin-top: 2.2rem; display: grid; gap: .7rem; }
.fl-pr-matieres .fl-instru-lib { margin: 0; }
.fl-pr-matieres .fl-pr-mots li { background: #fff; }
.fl-pr-tutos { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .9rem; }
.fl-pr-tutos a { display: grid; gap: .55rem; color: #120D16; text-decoration: none; }
.fl-pr-tuto-visuel { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: .9rem; overflow: hidden; background: #191970; }
.fl-pr-tuto-visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.fl-pr-tuto-visuel i { position: absolute; inset: 0; margin: auto; width: 2.8rem; height: 2.8rem; border-radius: 50%; display: grid; place-items: center; background: #F32837; color: #fff; font-style: normal; font-size: .95rem; padding-left: .15rem; box-sizing: border-box; box-shadow: 0 10px 24px -8px rgba(18, 13, 22, .6); }
.fl-pr-tutos a:hover img { transform: scale(1.05); }
.fl-pr-tutos a:focus-visible { outline: 3px solid #001CA8; outline-offset: 3px; border-radius: .9rem; }
.fl-pr-tuto-texte { display: grid; gap: .15rem; }
.fl-pr-tuto-texte small { font: 700 .7rem var(--police-ui); letter-spacing: .08em; text-transform: uppercase; color: #001CA8; }
.fl-pr-tuto-texte b { font: 800 .95rem/1.3 var(--police-display); }

/* ═══ Espace aérien ═══ */
.fl-pr-piliers { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.fl-pr-piliers > li { display: flex; flex-direction: column; gap: .6rem; padding: 1.35rem 1.35rem 1.4rem; border-radius: 1.25rem; background: #F5F5F5; scroll-margin-top: 6rem; }
.fl-pr-piliers h3 { margin: 0; font: 800 1.3rem/1.2 var(--police-display); }
.fl-pr-piliers p { margin: 0; font-size: .93rem; line-height: 1.58; color: rgba(18, 13, 22, .78); }
.fl-pr-piliers .fl-pr-docs { margin-top: auto; padding-top: .4rem; }

/* ═══ OPS ═══ */
.fl-pr-frise { list-style: none; margin: 2rem 0 2.2rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; position: relative; }
.fl-pr-frise::before { content: ''; position: absolute; left: 0; right: 0; top: .55rem; border-top: 2px dotted rgba(0, 28, 168, .45); }
.fl-pr-frise li { position: relative; display: grid; gap: .3rem; align-content: start; padding: 1.8rem 1.2rem 0 0; }
.fl-pr-frise li::before { content: ''; position: absolute; left: 0; top: 0; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #fff; border: 3px solid #001CA8; box-sizing: border-box; }
.fl-pr-frise li.est-passe::before { background: #001CA8; }
.fl-pr-frise li:last-child::before { width: 1.4rem; height: 1.4rem; top: -.15rem; border-color: #F32837; background: #F32837; }
.fl-pr-frise time { font: 800 1.2rem var(--police-display); color: #001CA8; letter-spacing: -.01em; }
.fl-pr-frise b { font: 700 .74rem var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: #191970; }
.fl-pr-frise span { font-size: .9rem; line-height: 1.5; color: rgba(18, 13, 22, .74); }
.fl-pr-frise small { font: 600 .74rem var(--police-ui); color: rgba(18, 13, 22, .5); }
.fl-pr-kit { margin-top: 2.2rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.fl-pr-kit-groupe { padding: 1.1rem; border-radius: 1.2rem; background: #fff; border: 1px solid var(--filet); display: grid; gap: .7rem; }
.fl-pr-kit-tete { display: flex; align-items: center; gap: .65rem; margin: 0; }
.fl-pr-kit-tete b { font: 800 1.05rem var(--police-display); }
.fl-pr-pic { width: 2.4rem; height: 2.4rem; padding: .5rem; box-sizing: border-box; border-radius: .8rem; background: rgba(0, 28, 168, .08); color: #001CA8; flex: none; }
.fl-pr-kit ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.fl-pr-kit li > a, .fl-pr-kit li > span { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "t f" "s f"; gap: .15rem .6rem; align-items: center; padding: .7rem .8rem; border-radius: .8rem; background: #F5F5F5; color: #120D16; text-decoration: none; border: 1px solid transparent; transition: border-color .2s, background .2s; }
.fl-pr-kit li > a:hover, .fl-pr-kit li > a:focus-visible { border-color: #001CA8; background: #fff; outline: none; }
.fl-pr-kit li b { grid-area: t; font: 700 .9rem/1.3 var(--police-ui); }
.fl-pr-kit li small { grid-area: s; font-size: .78rem; line-height: 1.4; color: rgba(18, 13, 22, .62); }
.fl-pr-kit li svg { grid-area: f; color: #001CA8; }

/* ═══ Le BIA ═══ */
.fl-pr-profils { list-style: none; margin: 2.4rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.fl-pr-profils a { position: relative; display: grid; gap: .35rem; align-content: start; height: 100%; box-sizing: border-box; padding: 1.25rem 1.3rem 2.8rem; border-radius: 1.2rem; background: #F5F5F5; color: #120D16; text-decoration: none; border: 1px solid transparent; transition: border-color .2s, transform .2s; }
.fl-pr-profils .fl-instru-lib { margin: 0; }
.fl-pr-profils b { font: 800 1.25rem/1.2 var(--police-display); }
.fl-pr-profils a > span:not(.fl-instru-lib) { font-size: .9rem; line-height: 1.5; color: rgba(18, 13, 22, .72); }
.fl-pr-profils svg { position: absolute; left: 1.3rem; bottom: 1.05rem; color: #001CA8; }
.fl-pr-profils a:hover, .fl-pr-profils a:focus-visible { border-color: #001CA8; transform: translateY(-2px); outline: none; }
.fl-pr-montant-carte { display: grid; gap: .3rem; padding: 1.4rem 1.4rem 1.5rem; border-radius: 1.2rem; background: #001CA8; color: #fff; }
.fl-pr-montant-carte .fl-instru-lib { margin: 0; color: rgba(255, 255, 255, .75); }
.fl-pr-montant-carte b { font: 900 3.2rem/1 var(--police-display); letter-spacing: -.04em; }
.fl-pr-montant-carte span:last-child { color: rgba(255, 255, 255, .86); font-size: .95rem; }
.fl-pr-lecture-grille { display: grid; grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); gap: clamp(1.6rem, 5vw, 4.5rem); align-items: start; }
.fl-pr-toc { position: sticky; top: 6rem; display: grid; gap: .8rem; padding: 1.2rem; border-radius: 1.2rem; background: #F5F5F5; max-height: calc(100vh - 7.5rem); overflow: auto; }
.fl-pr-toc .fl-instru-lib { margin: 0; }
.fl-pr-progres { height: 4px; border-radius: 4px; background: rgba(0, 28, 168, .12); overflow: hidden; }
.fl-pr-progres i { display: block; height: 100%; width: 0; background: #001CA8; transition: width .15s linear; }
.fl-pr-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; counter-reset: toc; }
.fl-pr-toc li { counter-increment: toc; }
.fl-pr-toc ol a { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); gap: .2rem; padding: .45rem .5rem; border-radius: .6rem; font: 600 .88rem/1.35 var(--police-ui); color: rgba(18, 13, 22, .78); text-decoration: none; }
.fl-pr-toc ol a::before { content: counter(toc, decimal-leading-zero); font: 800 .72rem/1.9 var(--police-display); color: rgba(0, 28, 168, .6); }
.fl-pr-toc a:hover, .fl-pr-toc a:focus-visible { background: #fff; color: #001CA8; outline: none; }
.fl-pr-toc a[aria-current="true"] { background: #001CA8; color: #fff; }
.fl-pr-toc ol a[aria-current="true"]::before { color: rgba(255, 255, 255, .8); }
.fl-pr-toc-bas { margin: 0; padding-top: .7rem; border-top: 1px solid var(--filet); font: 700 .85rem var(--police-ui); }
.fl-pr-toc-bas a { color: #001CA8; }
.fl-pr-lecture-article { max-width: 46rem; }
.fl-pr-lecture-titre { font-size: clamp(2rem, 3.6vw, 3rem); margin-bottom: .5rem; }
.fl-pr-lecture-meta { margin: 0 0 2.2rem; font: 600 .85rem var(--police-ui); color: rgba(18, 13, 22, .55); }
.fl-pr-lecture .fl-prose { font-size: 1.04rem; }
.fl-pr-lecture .fl-prose p { line-height: 1.75; }
.fl-pr-lecture .fl-prose .fl-pr-intertitre { margin: 3.2rem 0 1rem; padding-top: 1.6rem; border-top: 2px solid #001CA8; font: 800 clamp(1.35rem, 2.2vw, 1.75rem)/1.2 var(--police-display); letter-spacing: -.01em; color: #191970; scroll-margin-top: 6.5rem; }
.fl-pr-lecture .fl-prose .fl-pr-intertitre:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.fl-pr-lecture .fl-ancre { display: block; scroll-margin-top: 6.5rem; }
.fl-pr-lecture .fl-prose h5:not(.fl-pr-intertitre) { font: 800 1.1rem var(--police-display); color: #120D16; margin: 1.8rem 0 .6rem; }
.fl-pr-lecture .fl-prose h6 { font: 700 .78rem var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: #001CA8; margin: 1.6rem 0 .5rem; }
.fl-pr-lecture .fl-prose table { width: auto; max-width: 100%; }
.fl-pr-lecture .fl-prose table td { padding: .4rem .8rem .4rem 0; border: 0; }
.fl-pr-lecture .fl-prose img { max-width: 100%; height: auto; }

/* ═══ Subventions ═══ */
.fl-pr-regles { margin-top: 1.8rem; padding: 1.3rem 1.4rem; border-radius: 1.2rem; background: #F5F5F5; border-left: 4px solid #950714; }
.fl-pr-regles .fl-pr-essentiel-titre { color: #950714; }
.fl-pr-regles ol { margin: 0; padding-left: 1.2rem; display: grid; gap: .55rem; line-height: 1.55; }
.fl-pr-regles ol li::marker { font-weight: 800; color: #950714; }
.fl-pr-aides { list-style: none; margin: 1.6rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1.1rem; }
.fl-pr-aide { display: flex; flex-direction: column; gap: 1rem; padding: 1.35rem 1.4rem 1.4rem; border-radius: 1.3rem; background: #fff; border: 1px solid var(--filet); scroll-margin-top: 6.5rem; transition: box-shadow .25s, border-color .25s; }
.fl-pr-aide[hidden] { display: none; }
.fl-pr-aide:hover, .fl-pr-aide:target { border-color: rgba(0, 28, 168, .35); box-shadow: 0 26px 50px -38px rgba(0, 28, 168, .6); }
.fl-pr-aide-tete { display: grid; gap: .45rem; padding-bottom: .9rem; border-bottom: 1px solid var(--filet); }
.fl-pr-aide-tete h3 { margin: 0; font: 800 1.3rem/1.2 var(--police-display); letter-spacing: -.015em; }
.fl-pr-aide-montant { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .7rem; }
.fl-pr-aide-montant b { font: 900 2.2rem/1 var(--police-display); letter-spacing: -.04em; color: #001CA8; }
.fl-pr-aide-montant small { font-size: .86rem; color: rgba(18, 13, 22, .62); }
.fl-pr-aide-dl { margin: 0; display: grid; gap: .8rem; }
.fl-pr-aide-dl dt { font: 700 .68rem var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: rgba(18, 13, 22, .5); }
.fl-pr-aide-dl dd { margin: .25rem 0 0; font-size: .93rem; line-height: 1.55; color: rgba(18, 13, 22, .84); }
.fl-pr-aide-dl .fl-pr-puces { margin-top: .2rem; gap: .3rem; }
.fl-pr-aide-docs { margin-top: auto; }
.fl-pr-aide-docs .fl-pr-doc > a { background: #F5F5F5; border-color: transparent; padding: .6rem .75rem; }
.fl-pr-aide-docs .fl-pr-doc > a:hover { background: #fff; border-color: #001CA8; }
.fl-pr-aide-docs .fl-pr-doc-type { min-width: 2.4rem; height: 2.4rem; background: #fff; }
.fl-pr-aide-lien { margin: 0; font-size: .92rem; }

/* ═══ Préparez vos vols ═══ */
.fl-pr-temps { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.fl-pr-temps li { position: relative; display: grid; gap: .4rem; align-content: start; padding: 1.4rem 1.4rem 1.5rem; border-radius: 1.25rem; background: #F5F5F5; overflow: hidden; }
.fl-pr-temps-num { position: absolute; right: .9rem; top: .2rem; font: 900 4.6rem/1 var(--police-display); color: rgba(0, 28, 168, .1); }
.fl-pr-temps li:nth-child(3) .fl-pr-etiquette { color: #950714; }
.fl-pr-temps b { font: 800 1.3rem/1.2 var(--police-display); }
.fl-pr-temps span:last-child { font-size: .93rem; line-height: 1.55; color: rgba(18, 13, 22, .74); }
.fl-pr-rapide { margin-top: 1.8rem; display: grid; gap: .7rem; }
.fl-pr-rapide .fl-instru-lib { margin: 0; }
.fl-pr-rapide ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: .6rem; }
.fl-pr-rapide a { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "s f" "b f"; gap: .1rem .6rem; align-items: center; padding: .8rem 1rem; border-radius: .95rem; background: #001CA8; color: #fff; text-decoration: none; transition: background .2s; }
.fl-pr-rapide small { grid-area: s; font: 700 .68rem var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.fl-pr-rapide b { grid-area: b; font: 700 .95rem/1.3 var(--police-display); }
.fl-pr-rapide svg { grid-area: f; }
.fl-pr-rapide a:hover, .fl-pr-rapide a:focus-visible { background: #191970; outline: none; }


/* ═══ Terrains ═══ */
.fl-pr-compare { margin-top: 2rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
.fl-pr-compare > div { padding: 1.4rem 1.45rem 1.5rem; border-radius: 1.25rem; background: #F5F5F5; }
.fl-pr-compare > div:nth-child(2) { background: #001CA8; color: #fff; }
.fl-pr-compare > div:nth-child(2) .fl-pr-etiquette { color: #fff; }
.fl-pr-compare > div:nth-child(2) .fl-pr-puces li::marker { color: #F32837; }
.fl-pr-compare > div:nth-child(2) .fl-pr-puces { color: rgba(255, 255, 255, .9); }
.fl-pr-compare h3 { margin: .55rem 0 .4rem; font: 800 1.25rem/1.25 var(--police-display); text-wrap: balance; }
.fl-pr-compare .fl-pr-puces { color: rgba(18, 13, 22, .82); }
.fl-pr-compare-commun { grid-column: 1 / -1; margin: 0; padding: 1rem 1.2rem; border-radius: 1rem; border: 1px dashed rgba(0, 28, 168, .4); line-height: 1.55; color: rgba(18, 13, 22, .82); }

/* ── Tablette et téléphone ── */
@media (max-width: 1100px) {
  .fl-pr-voies-grille, .fl-pr-kit, .fl-pr-profils { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fl-pr-tutos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fl-pr-niveaux { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1000px) {
  .fl-pr-intro-grille, .fl-pr-duo, .fl-pr-duo-large, .fl-pr-panneau, .fl-pr-compare, .fl-pr-lecture-grille { grid-template-columns: minmax(0, 1fr); }
  .fl-pr-piliers, .fl-pr-partenaires-grille, .fl-pr-objectifs, .fl-pr-temps { grid-template-columns: minmax(0, 1fr); }
  .fl-pr-toc { position: static; max-height: none; }
  .fl-pr-frise { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.6rem; }
  .fl-pr-frise::before { display: none; }
}
@media (max-width: 640px) {
  .fl-pr-voies-grille, .fl-pr-kit, .fl-pr-profils, .fl-pr-classes { grid-template-columns: minmax(0, 1fr); }
  .fl-pr-tutos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fl-pr-chiffres-deux { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .fl-pr-chiffres li { padding: .95rem 1rem; }
  .fl-pr-chiffres b { font-size: 1.6rem; }
  .fl-pr-frise { grid-template-columns: minmax(0, 1fr); }
  /* 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-pr-segments { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; border: 0; border-radius: 0; background: none; }
  .v6-papier-2 .fl-pr-segments { background: none; }
  .fl-pr-segments button { flex: 0 1 auto; min-height: 2.75rem; padding: .55rem 1.05rem; background: #fff; color: #120D16; box-shadow: inset 0 0 0 1.5px rgba(18, 13, 22, .2); }
  .fl-pr-segments button[aria-pressed="true"], .fl-pr-segments button[aria-selected="true"] { box-shadow: 0 4px 12px -6px rgba(0, 28, 168, .6); }
  .fl-pr-cherche { flex: 1 1 100%; }
  .fl-pr-doc > a, .fl-pr-doc > .fl-pr-doc-sans { padding: .7rem .75rem; column-gap: .7rem; }
  .fl-pr-prose-tableau .fl-tableau { min-width: 46rem; table-layout: fixed; }
  .fl-pr-bande .fl-pr-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fl-pr-aide { padding: 1.15rem 1.1rem 1.2rem; }
  .fl-pr-encart { padding-bottom: 2.7rem; }
}
@media (prefers-reduced-motion: reduce) { .fl-pr-article a, .fl-pr-article-visuel img, .fl-pr-encart, .fl-pr-action, .fl-pr-progres i { transition: none; } }

/* Handivol : les structures qui accueillent des pilotes en situation de handicap (préfixe fl-pr-hv-) */
.fl-pr-hv-logo { display: block; padding: 1rem 1.2rem; border-radius: 1.2rem; background: #fff; border: 1px solid rgba(25, 25, 112, .14); }
.fl-pr-hv-logo img { display: block; width: 100%; height: auto; }
/* Grille régulière : 3 colonnes, cartes de même hauteur, contact aligné en bas ; filtre par région (visible avec le script). */
.fl-pr-hv-filtre { margin-top: clamp(1.8rem, 4vw, 2.6rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1.2rem; }
.fl-pr-hv-filtre[hidden] { display: none; }
.fl-pr-hv-filtre .fl-pr-segments { padding: 0; gap: .45rem; background: none; border: 0; border-radius: 0; }
.fl-pr-hv-filtre .fl-pr-segments button { padding: .5rem .95rem; background: #fff; border: 1px solid var(--filet); }
.fl-pr-hv-filtre .fl-pr-segments button:hover { border-color: #001CA8; color: #001CA8; }
.fl-pr-hv-filtre .fl-pr-segments button[aria-pressed="true"] { background: #001CA8; border-color: #001CA8; color: #fff; }
.fl-pr-hv-compte { margin: 0; font: 600 .88rem var(--police-ui); color: rgba(18, 13, 22, .62); }
.fl-pr-hv-grille { list-style: none; margin: clamp(1.8rem, 4vw, 2.6rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 1rem; }
.fl-pr-hv-filtre:not([hidden]) + .fl-pr-hv-grille { margin-top: 1.2rem; }
.fl-pr-hv-carte { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; padding: 1.15rem 1.25rem 1.2rem; border-radius: 1rem; background: #F5F5F5; border-top: 3px solid #001CA8; min-width: 0; }
.fl-pr-hv-carte[hidden] { display: none; }
.fl-pr-hv-etiquette { margin-bottom: .2rem; font: 700 .72rem/1.3 var(--police-ui); letter-spacing: .06em; text-transform: uppercase; color: #001CA8; }
.fl-pr-hv-nom { margin: 0; font: 800 1.06rem/1.3 var(--police-display); color: #120D16; }
.fl-pr-hv-liens { margin: auto 0 0; padding-top: .7rem; width: 100%; border-top: 1px solid rgba(25, 25, 112, .12); display: grid; gap: .3rem; }
@media (max-width: 1000px) { .fl-pr-hv-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .fl-pr-hv-grille { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; } }
.fl-pr-hv-lieu { font-size: .9rem; color: rgba(18, 13, 22, .72); }
.fl-pr-hv-precision { align-self: flex-start; margin-top: .15rem; padding: .15rem .55rem; border-radius: 99px; background: rgba(0, 28, 168, .08); color: #001CA8; font-size: .78rem; font-weight: 700; }
.fl-pr-hv-lien { display: inline-flex; align-items: baseline; gap: .5rem; color: #001CA8; font-weight: 700; font-size: .95rem; text-decoration: none; overflow-wrap: anywhere; }
.fl-pr-hv-lien:hover, .fl-pr-hv-lien:focus-visible { color: #950714; text-decoration: underline; }
.fl-pr-hv-type { flex: none; min-width: 3.4rem; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: rgba(18, 13, 22, .55); }
