/* GÉNÉRÉ par outils-portee-css.py depuis styles.css : chaque sélecteur est limité à la zone .ffgp du parcours. Ne pas modifier à la main. */
.ffgp{letter-spacing:normal;line-height:normal}
.ffgp :where(*),.ffgp :where(*)::before,.ffgp :where(*)::after{margin:revert;padding:revert;border:revert}
.ffgp :where(h1,h2,h3,h4,h5,h6){letter-spacing:normal}
.ffgp :where(a){text-decoration:revert}
.ffgp :where(img){display:revert}
.ffgp :where(ul,ol){list-style:revert}
.ffgp :where(button){background:revert}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url('/assets/fonts/dmsans/dmsans-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans Fallback';src:local('Arial');size-adjust:90.66%;ascent-override:110.3%;descent-override:34.47%;line-gap-override:0%}
@font-face{font-family:'Plus Jakarta Sans Fallback';src:local('Arial');size-adjust:104%;ascent-override:102.16%;descent-override:24.04%;line-gap-override:0%}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/plusjakartasans/plusjakartasans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/plusjakartasans/plusjakartasans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0}
.ffgp{--encre:#17123a;--texte:#2b2640;--doux:#625c6e;--prune:#3a2654;--violet:#604184;--vert:#0b7355;--vert-fonce:#175e47;--menthe:#edf7f1;--menthe-vive:#b2e3c9;--lilas:#f3edf8;--ligne:#e1dae8;--fond:#faf9fc;
  --titre:'Plus Jakarta Sans','Plus Jakarta Sans Fallback',sans-serif;--lecture:'DM Sans','DM Sans Fallback',sans-serif;--ombre:0 12px 35px #33213d12}
.ffgp, .ffgp *{box-sizing:border-box}
.ffgp{-webkit-text-size-adjust:100%}
.ffgp{margin:0;background:var(--fond);color:var(--texte);font:400 16px/1.6 var(--lecture)}
.ffgp [hidden]{display:none!important}
.ffgp .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ffgp .cadre{width:min(100% - 40px,920px);margin-inline:auto}
.ffgp .bandeau{background:#eee6f5;color:#604975;font-size:12px;font-weight:600;text-align:center;padding:6px 14px}
.ffgp .tete{background:#fff;border-bottom:1px solid var(--ligne);padding:16px 0}
.ffgp .marque{font:800 17px/1.2 var(--titre);color:var(--encre);letter-spacing:-.3px}
.ffgp .marque small{display:block;font:700 10px/1.6 var(--lecture);letter-spacing:1.6px;color:var(--vert-fonce)}
.ffgp .page{padding:38px 0 70px}
.ffgp .surtitre{margin:0 0 10px;font:700 11px/1 var(--lecture);letter-spacing:1.8px;text-transform:uppercase;color:var(--vert-fonce)}
.ffgp h1{margin:0 0 14px;font:800 clamp(32px,5.2vw,50px)/1.05 var(--titre);letter-spacing:-1.6px;color:var(--encre)}
.ffgp h1 span{display:block;color:var(--vert)}
.ffgp .chapo{margin:0 0 28px;max-width:62ch;color:var(--doux);font-size:17px}
.ffgp .recherche{position:relative;background:#fff;border:1px solid var(--ligne);border-radius:24px;padding:22px;box-shadow:var(--ombre)}
.ffgp .recherche label{display:block;font:700 15px/1.3 var(--lecture);color:var(--encre);margin-bottom:9px}
.ffgp .champ{position:relative}
.ffgp #q{width:100%;min-height:54px;padding:12px 50px 12px 16px;font:500 17px/1.3 var(--lecture);color:var(--encre);background:#fff;border:1.5px solid #cdc3d9;border-radius:14px;appearance:none}
.ffgp #q::placeholder{color:#8a8396}
.ffgp #q:focus-visible, .ffgp .effacer:focus-visible, .ffgp .bouton:focus-visible, .ffgp .lien:focus-visible{outline:3px solid #8055bc;outline-offset:2px}
.ffgp .effacer{position:absolute;right:6px;top:5px;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--doux);font-size:24px;line-height:1;cursor:pointer}
.ffgp .aide{margin:9px 0 0;font-size:13.5px;color:var(--doux)}
.ffgp #propositions{list-style:none;margin:10px 0 0;padding:6px;border:1px solid var(--ligne);border-radius:16px;background:#fff;max-height:min(58vh,440px);overflow:auto}
.ffgp #propositions li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;min-height:52px;padding:9px 12px;border-radius:11px;cursor:pointer}
.ffgp #propositions li+li{border-top:1px solid #f1ecf5}
.ffgp #propositions li[aria-selected=true], .ffgp #propositions li:hover{background:var(--lilas)}
.ffgp #propositions li[aria-selected=true]{box-shadow:inset 0 0 0 2px var(--violet)}
.ffgp .p-nom{font:700 16px/1.3 var(--lecture);color:var(--encre);overflow-wrap:anywhere}
.ffgp .p-detail{grid-column:1;font-size:13.5px;color:var(--doux);overflow-wrap:anywhere}
.ffgp .p-type{grid-row:1 / span 2;grid-column:2;font:600 11.5px/1.2 var(--lecture);color:var(--violet);background:var(--lilas);border-radius:99px;padding:5px 10px;white-space:nowrap}
.ffgp .p-reste{padding:10px 12px;font-size:13.5px;color:var(--doux);cursor:default}
.ffgp .sans-commune{margin-top:14px;padding:16px 18px;border-radius:16px;background:var(--lilas);border:1px solid #e0d4ec;font-size:15px}
.ffgp .sans-commune h2{margin:0 0 6px;font:800 18px/1.25 var(--titre);color:var(--encre)}
.ffgp .sans-commune ul{margin:10px 0 0;padding-left:18px}
.ffgp .resultats{margin-top:26px;outline:0}
.ffgp .commune{padding:20px 22px;border-radius:22px;background:var(--prune);color:#fff}
.ffgp .commune p{margin:0}
.ffgp .commune .etiquette{font:700 11px/1 var(--lecture);letter-spacing:1.6px;text-transform:uppercase;color:var(--menthe-vive)}
.ffgp .commune h2{margin:8px 0 4px;font:800 clamp(24px,3.6vw,32px)/1.12 var(--titre);letter-spacing:-.8px;color:#fff;overflow-wrap:anywhere}
.ffgp .commune .ou{color:#e6dcf0;font-size:15px}
.ffgp .commune .ref{margin-top:10px;font-size:13.5px;color:#cfc2dd}
.ffgp .constat{margin:20px 0 8px;font:800 20px/1.25 var(--titre);letter-spacing:-.4px;color:var(--encre)}
.ffgp .constat+.sous{margin:0 0 14px;color:var(--doux);font-size:15px}
.ffgp .salles{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ffgp .salle{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:16px 18px;border:1px solid var(--ligne);border-radius:18px;background:#fff}
.ffgp .salle.ici{background:var(--menthe);border-color:#bfe0cf}
.ffgp .salle h3{margin:0;font:700 17px/1.3 var(--lecture);color:var(--encre);overflow-wrap:anywhere}
.ffgp .salle h3 small{font-weight:500;color:var(--doux);font-size:15px}
.ffgp .salle .voie{margin:0;color:var(--texte);font-size:15px;overflow-wrap:anywhere}
.ffgp .salle .distance{margin:2px 0 0;font:700 15px/1.3 var(--lecture);color:var(--vert-fonce)}
.ffgp .salle .distance span{font-weight:400;color:var(--doux)}
.ffgp .salle .notes{grid-column:1;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ffgp .note{font:600 11.5px/1.2 var(--lecture);border-radius:99px;padding:5px 10px;background:var(--lilas);color:var(--violet)}
.ffgp .note.ref-salle{background:#f4f2f7;color:var(--doux)}
.ffgp .bouton{grid-row:1 / span 4;grid-column:2;min-height:46px;padding:10px 18px;border:0;border-radius:99px;background:var(--vert-fonce);color:#fff;font:700 14.5px/1.2 var(--lecture);cursor:pointer;white-space:nowrap}
.ffgp .bouton:hover{background:#0f4a37}
.ffgp .bouton.clair{background:#fff;color:var(--violet);border:1.5px solid var(--violet)}
.ffgp .suite{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ffgp .manque{margin:12px 0 0;padding:13px 16px;border-radius:14px;border:1px dashed #c9b8dc;background:#fff;font-size:14.5px;color:var(--texte)}
.ffgp .etude{margin:18px 0 0;padding:16px 18px;border-radius:16px;background:var(--lilas);font-size:15px}
.ffgp .etude strong{color:var(--encre)}
.ffgp .rappel{margin:16px 0 0;font-size:14px;color:var(--doux)}
.ffgp .recap{margin-top:24px;padding:22px;border-radius:22px;background:#fff;border:2px solid var(--violet);outline:0}
.ffgp .recap h2{margin:0 0 4px;font:800 22px/1.2 var(--titre);color:var(--encre)}
.ffgp .recap .demo{margin:0 0 14px;font-size:14px;color:var(--violet);font-weight:600}
.ffgp .recap dl{margin:0;display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:0}
.ffgp .recap dt, .ffgp .recap dd{margin:0;padding:10px 0;border-top:1px dashed var(--ligne);font-size:15px;overflow-wrap:anywhere}
.ffgp .recap dt{color:var(--doux)}
.ffgp .recap dd{color:var(--encre);font-weight:600}
.ffgp .lien{background:none;border:0;padding:6px 0;color:var(--violet);font:600 14.5px/1.3 var(--lecture);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ffgp .cadre-info{margin-top:40px;padding:20px 22px;border-radius:20px;background:var(--menthe);font-size:14.5px}
.ffgp .cadre-info h2{margin:0 0 8px;font:800 17px/1.3 var(--titre);color:var(--encre)}
.ffgp .cadre-info ul{margin:0;padding-left:18px}
.ffgp .cadre-info li+li{margin-top:6px}
@media (max-width:640px){.ffgp .cadre{width:min(100% - 28px,920px)}
.ffgp .page{padding:26px 0 56px}
.ffgp .recherche{padding:16px;border-radius:20px}
.ffgp .chapo{font-size:16px;margin-bottom:22px}
.ffgp .salle{grid-template-columns:minmax(0,1fr);padding:14px 15px}
.ffgp .bouton{grid-row:auto;grid-column:1;width:100%;margin-top:8px}
.ffgp .p-type{grid-row:auto;grid-column:1;justify-self:start;margin-top:3px}
.ffgp #propositions li{grid-template-columns:minmax(0,1fr)}
.ffgp .recap dl{grid-template-columns:minmax(0,1fr)}
.ffgp .recap dt{padding-bottom:0;border-top:1px dashed var(--ligne)}
.ffgp .recap dd{border-top:0;padding-top:2px}}
@media (prefers-reduced-motion:no-preference){}
.ffgp .salle.choisie{border-color:var(--violet);box-shadow:inset 0 0 0 1.5px var(--violet)}
.ffgp .note.choix{background:var(--violet);color:#fff}
.ffgp .sans-commune .salles{margin-top:10px}
.ffgp .resultats>.lien{margin-top:10px}
.ffgp .manque .lien{padding:0}