/* visionneuse plein ecran (assets/js/gallery.js), reprise de sections.css: la V2 n'a plus de plans de travail */
/* visionneuse plein ecran (assets/js/gallery.js): image, video ou demo Rive; dessous, son titre et son texte; fleches, compteur */
.gv{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:76px 84px 0;border:0;background:var(--frame);color:var(--ink);overflow:hidden}
.gv[open]{display:grid;grid-template-rows:minmax(0,1fr) auto}
.gv::backdrop{background:var(--frame)}
.gv:focus{outline:none}
.gv-stage{position:relative;min-height:0;display:flex;align-items:center;justify-content:center}
.gv-stage>:is(img,video){display:block;max-width:100%;max-height:100%;background:#000}
/* demo Rive: le canvas occupe la scene; son image dessous tant que le lecteur charge, ou si le navigateur ne sait pas l'afficher */
.gv-rive{position:relative;width:100%;height:100%}
.gv-rive canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.gv-rive canvas:focus{outline:none}
.gv-rive canvas:focus-visible{outline:2px solid var(--pink-light);outline-offset:-2px}
.gv-rive img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.gv-rive.on img,.gv-rive.ko canvas{visibility:hidden}
.gv-note{position:absolute;left:0;bottom:0;max-width:100%;padding:8px 12px;background:var(--surf);font-size:16px;color:var(--ink2)}
/* demo en ligne: la page dans un cadre, a la taille de la scene */
.gv-page{width:100%;height:100%}
.gv-page iframe{display:block;width:100%;height:100%;border:0;background:#000}
.gv-cap{display:flex;flex-direction:column;gap:6px;min-width:0;max-height:32vh;overflow-y:auto;padding:18px 120px 28px 0}
.gv-t{font-weight:500;font-size:18px;letter-spacing:-.01em}
.gv-c{max-width:68ch;font-size:16px;line-height:1.5;color:var(--ink2);white-space:pre-line}
.gv-count{position:absolute;right:84px;bottom:32px;font:500 13px/1 var(--sans);letter-spacing:.08em;color:var(--ink3);font-variant-numeric:tabular-nums}
.gv-b{position:absolute;width:48px;height:48px;display:grid;place-items:center;background:var(--surf);color:var(--ink);transition:background .18s,color .18s}
.gv-b:hover{background:var(--pink);color:#fff}
.gv-b svg{width:18px;height:18px}
.gv-prev{left:18px;top:calc(50% - 24px)}
.gv-next{right:18px;top:calc(50% - 24px)}
.gv-x{right:18px;top:18px}
.gv-pp{right:72px;top:18px}
.gv-pp .i-play,.gv-pp.off .i-pause{display:none}
.gv-pp.off .i-play{display:block}
.gv-snd{right:126px;top:18px}
.gv-snd .i-off,.gv-snd.off .i-on{display:none}
.gv-snd.off .i-off{display:inline}
.gv-pp[hidden]+.gv-snd{right:72px}
@media (max-width:699px){
  .gv{padding:76px 0 0}
  .gv[open]{grid-template-rows:minmax(0,1fr) auto 84px}
  .gv-cap{max-height:28vh;padding:14px 16px 6px}
  .gv-prev,.gv-next{top:auto;bottom:18px}
  .gv-count{right:auto;left:50%;bottom:34px;transform:translateX(-50%)}
}

@media (prefers-reduced-motion:reduce){
  .ab.nda:hover .cover,.ab.nda.hot .cover{transform:none}
  .lp,.lp.on{scale:1;transition:none}
}
/* telephone en paysage: moins de marge autour de l'image */
@media (max-height:520px){
  .gv{padding:12px 72px 0}
  .gv-cap{padding:6px 120px 8px 0;max-height:60px}
  .gv-x{top:12px;right:12px}
}
