.carousel-stage>.story-gallery-image,.carousel-stage>.story-gallery-video{display:block;width:100%;height:min(68vw,660px);min-height:300px;object-fit:contain;background:#201613}
.carousel-stage>[hidden],.lightbox>[hidden]{display:none!important}
.carousel-stage>.story-gallery-image{cursor:zoom-in}
.carousel-stage>.story-gallery-video{cursor:default}
.carousel-thumb{position:relative}
.carousel-thumb video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.carousel-thumb .thumb-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;text-shadow:0 2px 8px #000;background:rgba(20,12,9,.16)}
.lightbox .story-lightbox-video{max-width:100%;max-height:calc(100vh - 100px);background:#000;border-radius:12px}
@media(max-width:700px){.carousel-stage>.story-gallery-image,.carousel-stage>.story-gallery-video{height:68vw;min-height:260px}.lightbox .story-lightbox-video{max-height:calc(100vh - 90px)}}

/* Galerie immersive : image à la taille maximale, commandes en surimpression. */
.carousel-expand{
  width:44px;height:44px;padding:0;border-radius:14px;
  background:rgba(17,17,16,.48);border:1px solid rgba(255,255,255,.32);
  box-shadow:0 3px 14px rgba(0,0,0,.16);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.carousel-expand svg{display:block;pointer-events:none}
.carousel-expand:focus-visible,.lightbox button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.lightbox{
  inset:0;width:100%;height:100vh;height:100dvh;
  max-width:none;max-height:none;margin:0;padding:0;
  background:#0b0b0a;z-index:1000;isolation:isolate;overflow:hidden;
}
.lightbox #lightboxImage,.lightbox .story-lightbox-video{
  display:block;width:100%;height:100%;min-width:0;min-height:0;
  max-width:none;max-height:none;object-fit:contain;border:0;border-radius:0;
}
.lightbox #lightboxImage{user-select:none;-webkit-user-select:none}
.lightbox>.lightbox-close,.lightbox>.carousel-arrow{
  z-index:3;width:46px;height:46px;padding:0;color:#fff;
  border:1px solid rgba(255,255,255,.24);background:rgba(25,25,23,.48);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 2px 14px rgba(0,0,0,.14);
}
.lightbox>.lightbox-close{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
.lightbox>.carousel-arrow.prev{left:max(14px,env(safe-area-inset-left))}
.lightbox>.carousel-arrow.next{right:max(14px,env(safe-area-inset-right))}
.lightbox>.lightbox-count{
  z-index:3;bottom:max(18px,env(safe-area-inset-bottom));pointer-events:none;
  background:rgba(25,25,23,.54);border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  font-variant-numeric:tabular-nums;letter-spacing:.06em;
}
@media(hover:hover){.carousel-expand:hover,.lightbox button:hover{background:rgba(60,60,55,.82)}}
@media(max-width:700px){
  .carousel-expand{right:12px;top:12px;width:44px;height:44px}
  .lightbox>.carousel-arrow{width:44px;height:44px}
  .lightbox>.carousel-arrow.prev{left:max(8px,env(safe-area-inset-left))}
  .lightbox>.carousel-arrow.next{right:max(8px,env(safe-area-inset-right))}
}
@media(prefers-reduced-motion:reduce){.carousel-expand,.lightbox button{transition:none}}
