/* fsy-catalogue.css · catalogue des 139 fonctions Syndic (fonctionnalites-syndic.html)
   Rail d'index collant à gauche, six domaines, une carte par section, fonctions
   groupées par sous-catégorie, vidéos posées sous la section qu'elles montrent.
   Charte DA06 : aucune ombre, rayon 3 px, filets 1 px, violet au survol seulement. */
.fsc{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,4vw,56px);margin-top:44px;align-items:start}
.fsc-rail{position:sticky;top:calc(var(--nav-h) + 20px);display:grid;gap:18px;max-height:calc(100vh - var(--nav-h) - 40px);overflow-y:auto}
.fsc-q{width:100%;min-height:44px;padding:0 14px;background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r);font-family:var(--sans);font-size:15px;color:var(--encre)}
.fsc-q::placeholder{color:var(--encre-2)}
.fsc-q:focus-visible{outline:2px solid var(--violet);outline-offset:1px;border-color:var(--violet)}
.fsc-ia{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 14px;background:transparent;border:1px solid var(--navy);border-radius:var(--r);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);cursor:pointer;text-align:left}
.fsc-ia:after{content:"";width:12px;height:12px;border:1px solid currentColor;border-radius:2px;flex:none}
.fsc-ia[aria-pressed="true"]{background:var(--navy);color:var(--creme)}
.fsc-ia[aria-pressed="true"]:after{background:var(--or);border-color:var(--or)}
.fsc-ia:focus-visible,.fsc-nav a:focus-visible,.fv:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.fsc-n{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-2)}
.fsc-nav{display:grid;border-top:1px solid var(--filet)}
.fsc-nav a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:11px 0 11px 14px;min-height:44px;border-bottom:1px solid var(--filet);border-left:3px solid transparent;color:var(--encre);font-size:15px;font-weight:600;letter-spacing:-.01em}
.fsc-nav a:hover{color:var(--violet)}
.fsc-nav a[aria-current="true"]{border-left-color:var(--or);color:var(--navy)}
.fsc-nav a span{font-family:var(--mono);font-size:10.5px;font-weight:400;letter-spacing:.08em;color:var(--encre-2)}
.fsc-nav a[hidden]{display:none}
.fsc-body{display:grid;gap:clamp(48px,6vw,80px);min-width:0}
.fsd{scroll-margin-top:calc(var(--nav-h) + 24px)}
.fsd[hidden],.fss[hidden],.fg[hidden],.fg li[hidden]{display:none}
.fsd-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;padding-bottom:16px;border-bottom:1px solid var(--navy);margin-bottom:14px}
.fsd-h .k{flex-basis:100%;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--or-f)}
.fsd-h h3{font-size:clamp(30px,3.4vw,42px);letter-spacing:-.024em;color:var(--navy)}
.fsd-h .ct{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--encre-2)}
.fsd-l{display:grid;gap:12px}
.fss{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r);padding:clamp(20px,2.4vw,30px);display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px clamp(20px,3vw,40px);scroll-margin-top:calc(var(--nav-h) + 24px)}
.fss-h h4{font-size:24px;line-height:1.08;letter-spacing:-.02em;color:var(--navy)}
.fss-h .ct{display:block;margin-top:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--encre-2)}
.fss-f{columns:2 240px;column-gap:clamp(20px,3vw,40px)}
.fg{break-inside:avoid;padding:0 0 14px}
.fg-t{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--or-f);margin-bottom:5px}
.fg ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fg li{font-size:15.5px;line-height:1.45;color:var(--encre)}
.fg li small{display:block;font-size:13.5px;line-height:1.5;color:var(--encre-2);margin-top:1px}
.fg mark{background:var(--or);color:var(--encre);padding:0 2px;border-radius:2px}
.fss-v{grid-column:2;border-top:1px solid var(--filet);padding-top:16px}
.fss-vt{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre-2);margin-bottom:12px}
.fvl{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.fv{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;padding:0;background:none;border:0;text-align:left;cursor:pointer;color:var(--encre);font:inherit}
.fv-th{position:relative;aspect-ratio:16/9;background:var(--navy);border-radius:var(--r);overflow:hidden}
.fv-th img{width:100%;height:100%;object-fit:cover}
.fv-pl{position:absolute;inset:0;margin:auto;width:30px;height:30px;border-radius:50%;background:var(--or);color:var(--encre);display:grid;place-items:center}
.fv-pl svg{width:12px;height:12px;margin-left:2px}
.fv-d{position:absolute;right:4px;bottom:4px;padding:1px 5px;background:var(--encre);color:var(--creme);font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;border-radius:2px}
.fv-b{display:grid;gap:3px;min-width:0}
.fv-k{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--or-f)}
.fv-t{font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:.05em;text-transform:uppercase;color:var(--navy)}
.fv:hover .fv-t{color:var(--violet)}
.fsc-vide{padding:40px 0;color:var(--encre-2)}
@media(max-width:980px){
  .fsc{grid-template-columns:1fr;gap:24px}
  .fsc-rail{position:sticky;top:var(--nav-h);z-index:5;max-height:none;overflow:visible;background:var(--creme);padding:12px 0;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-bottom:1px solid var(--filet)}
  .fsc-n{display:none}
  .fsc-nav{grid-column:1/-1;display:flex;gap:8px;overflow-x:auto;border:0;scrollbar-width:none}
  .fsc-nav::-webkit-scrollbar{display:none}
  .fsc-nav a{flex:none;display:flex;gap:8px;padding:0 12px;align-items:center;border:1px solid var(--filet);border-radius:var(--r);font-size:14px;white-space:nowrap}
  .fsc-nav a[aria-current="true"]{border-color:var(--navy);background:var(--navy);color:var(--creme)}
  .fsc-nav a[aria-current="true"] span{color:var(--or)}
  .fsd,.fss{scroll-margin-top:calc(var(--nav-h) + 130px)}
}
@media(max-width:760px){
  .fss{grid-template-columns:1fr}
  .fss-v{grid-column:1}
  .fsc-rail{grid-template-columns:1fr}
}
/* Lecteur */
.fvp{position:fixed;inset:0;z-index:96;background:rgba(27,20,38,.82);display:flex;align-items:center;justify-content:center;padding:20px}
.fvp[hidden]{display:none}
.fvp-box{width:min(1080px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:var(--encre);border-top:3px solid var(--or);border-radius:var(--r);color:var(--creme)}
.fvp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px}
.fvp-k{margin:0 0 4px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--or)}
.fvp-t{margin:0;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--blanc)}
.fvp-x{flex:none;width:44px;height:44px;background:none;border:1px solid rgba(251,246,236,.4);border-radius:var(--r);color:var(--creme);font-size:22px;line-height:1;cursor:pointer}
.fvp-x:hover{border-color:var(--or);color:var(--or)}
.fvp-x:focus-visible{outline:2px solid var(--lilas);outline-offset:2px}
.fvp-f{aspect-ratio:16/9;background:#000}
.fvp-f video,.fvp-f iframe{width:100%;height:100%;display:block;border:0}
.fvp-d{margin:0;padding:16px 18px 20px;font-size:14.5px;line-height:1.6;color:rgba(251,246,236,.84);white-space:pre-line;max-width:80ch}
