/* Styles de la lightbox vidéo */

/* ── Empêche le scroll du body quand la lightbox est ouverte ── */
body.lb-open {
  overflow: hidden;
}

/* ── Overlay ── */
#video-lightbox {
  display: none; /* caché par défaut */
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--color-black);
  align-items: center;
  justify-content: center;
  /* animation d'entrée */
  opacity: 0;
  transition: opacity 0.25s ease;
}

#video-lightbox.lb-visible {
  display: flex;
  opacity: 1;
}

/* ── Contenu (wrapper de la vidéo) ── */
.lb-content {
  position: relative;
  max-width: min(90vw, 600px);
  max-height: 90dvh;
  aspect-ratio: 1 / 1; /* les vidéos Printemps sont carrées */
  display: flex;
  align-items: center;
  justify-content: center;
}

.lb-content video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 2px;
  display: block;
}

/* ── Bouton fermer ── */
.lb-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: transparent;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  font-size: 18px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, border-color 0.2s ease;
  z-index: 10000;
}
.lb-close:hover,
.lb-close:focus-visible {
  background: transparent;
  border-color: var(--color-black);
  outline: none;
}

/* ── Boutons précédent / suivant ── */
.lb-prev,
.lb-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 1px solid var(--color-black);
  color: var(--color-black);
  font-size: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, border-color 0.2s ease;
  z-index: 100;
}
.lb-prev { left: 16px; }
.lb-next { right: 16px; }

.lb-prev:hover,
.lb-prev:focus-visible,
.lb-next:hover,
.lb-next:focus-visible {
  background: transparent;
  border-color: var(--color-black);
  outline: none;
}

/* ── Compteur (ex : 2 / 9) ── */
.lb-counter {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--color-white);
  font-size: 14px;
  font-family: var(--police-dm, sans-serif);
  white-space: nowrap;
  pointer-events: none;
}

/* ── Curseur pointer sur les vidéos inline ── */
.project--visuals video {
  cursor: pointer;
}

/* ── Mobile : ajustements des boutons nav pour écrans très étroits ── */
@media (max-width: 480px) {
  .lb-prev { left: 8px; }
  .lb-next { right: 8px; }

  .lb-content {
    max-width: 96vw;
  }
}