/* doc-project | public/assets/css/carousel-lightbox.css | habille la visionneuse plein écran accessible des carrousels publics */
.carousel-lightbox {
  width:100vw;
  max-width:none;
  height:100dvh;
  max-height:none;
  margin:0;
  padding:0;
  overflow:hidden;
  color:#fff;
  background:rgba(2,18,27,.96);
  border:0;
}
.carousel-lightbox::backdrop { background:rgba(2,18,27,.92); }
.carousel-lightbox__panel { position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;padding:clamp(3.5rem,7vw,5rem) clamp(3.5rem,8vw,7rem) clamp(1rem,3vw,2rem); }
.carousel-lightbox__stage { display:grid;min-width:0;min-height:0;place-items:center;overflow:hidden;touch-action:pan-y pinch-zoom;cursor:grab; }
.carousel-lightbox__stage.is-dragging { cursor:grabbing; }
.carousel-lightbox__image { display:block;max-width:100%;max-height:calc(100dvh - 9rem);object-fit:contain;user-select:none;-webkit-user-drag:none; }
.carousel-lightbox__footer { display:grid;justify-items:center;gap:.3rem;min-height:3.5rem;padding-top:.8rem;text-align:center; }
.carousel-lightbox__caption { max-width:75ch;margin:0;color:rgba(255,255,255,.9); }
.carousel-lightbox__counter { margin:0;color:rgba(255,255,255,.65);font-size:.85rem;font-weight:700; }
.carousel-lightbox__close,.carousel-lightbox__previous,.carousel-lightbox__next { position:absolute;z-index:2;display:grid;width:3rem;height:3rem;place-items:center;padding:0;color:#fff;background:rgba(7,63,87,.78);border:1px solid rgba(255,255,255,.5);border-radius:50%;cursor:pointer;backdrop-filter:blur(8px); }
.carousel-lightbox__close { top:1rem;right:1rem;font-size:1.7rem; }
.carousel-lightbox__previous,.carousel-lightbox__next { top:50%;transform:translateY(-50%);font-size:1.8rem; }
.carousel-lightbox__previous { left:1rem; }
.carousel-lightbox__next { right:1rem; }
.carousel-lightbox__close:hover,.carousel-lightbox__previous:hover,.carousel-lightbox__next:hover { background:#fff;color:var(--ocean-900); }
.carousel-lightbox__close:focus-visible,.carousel-lightbox__previous:focus-visible,.carousel-lightbox__next:focus-visible { outline:3px solid #fff;outline-offset:3px; }
.carousel-lightbox__previous:disabled,.carousel-lightbox__next:disabled { visibility:hidden; }
body.has-carousel-lightbox { overflow:hidden; }
@media(max-width:700px){
  .carousel-lightbox__panel { padding:4.5rem .75rem 1rem; }
  .carousel-lightbox__image { max-height:calc(100dvh - 10rem); }
  .carousel-lightbox__previous,.carousel-lightbox__next { top:auto;bottom:1.2rem;transform:none; }
  .carousel-lightbox__previous { left:.75rem; }
  .carousel-lightbox__next { right:.75rem; }
  .carousel-lightbox__footer { padding-right:3.5rem;padding-left:3.5rem; }
}
@media(prefers-reduced-motion:reduce){
  .carousel-lightbox * { scroll-behavior:auto!important;transition:none!important;animation:none!important; }
}