/* Galerie native ; image centrée, flèches latérales et vignettes synchronisées. */
.gallery-dialog { position:fixed; inset:0; margin:0; padding:0; border:0; width:100%; max-width:none; height:100dvh; max-height:none; overflow:hidden; background:transparent; color:white; font:inherit; }
.gallery-dialog::backdrop { background:rgba(11,11,11,.8); }
.gallery-stage { position:absolute; inset:0; display:grid; place-items:center; touch-action:pan-y; }
.gallery-stage figure { margin:0; text-align:center; }
.gallery-stage img { display:block; width:auto; height:auto; max-width:95vw; max-height:90dvh; border-radius:4px; margin:auto; box-shadow:0 5px 40px -10px black; }
.gallery-stage figcaption { margin-top:8px; font-size:.7em; font-weight:400; line-height:26px; }
.gallery-control { position:absolute; border:0; cursor:pointer; color:white; background:var(--beige); width:30px; height:80px; top:calc(50% - 60px); display:grid; place-items:center; }
.gallery-control svg,.gallery-close svg { width:14px; height:14px; }
.gallery-control:disabled { opacity:.5; cursor:default; }
.gallery-prev { left:0; }
.gallery-next { right:0; }
.gallery-close { position:absolute; top:0; right:0; width:44px; height:44px; border:0; background:#212b36; color:white; cursor:pointer; display:grid; place-items:center; }
.gallery-thumbs { position:absolute; bottom:0; left:1%; width:98%; height:13dvh; display:flex; gap:15px; overflow-x:auto; padding-top:17px; scrollbar-width:thin; scrollbar-color:var(--beige) transparent; }
.gallery-thumbs button { opacity:0; transform:translateY(13dvh); transition:opacity .3s ease,transform .3s ease; }
.gallery-thumbs.show-thumbs button,.gallery-thumbs:hover button,.gallery-thumbs:focus-within button { opacity:1; transform:none; }
.gallery-thumbs button { flex:0 0 calc((100% - 210px)/15); height:5.3vw; padding:0; border:0; border-radius:4px; overflow:hidden; background:transparent; cursor:pointer; }
.gallery-thumbs.show-thumbs button[aria-current],.gallery-thumbs:hover button[aria-current],.gallery-thumbs:focus-within button[aria-current] { opacity:.5; }
.gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
.gallery-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:991.98px) { .gallery-stage img { max-width:89vw; } .gallery-thumbs { display:none; } }
@media(max-width:767.98px) { .gallery-stage img { max-width:80vw; } }
