/* ============================================================
   LIGHTBOX GALERIE PHOTO — partagé entre les templates spécialité
   (vitrine-club-sportif, profil-club-sportif, ...)
   ============================================================ */

.gl-lightbox { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; background: rgba(10, 10, 10, 0.92); padding: 24px; }
.gl-lightbox.gl-lightbox--open { display: flex; }
.gl-lightbox__figure { position: relative; max-width: min(90vw, 1100px); max-height: 88vh; display: flex; flex-direction: column; align-items: center; }
.gl-lightbox__img { max-width: 100%; max-height: 80vh; object-fit: contain; border-radius: 4px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); }
.gl-lightbox__caption { color: rgba(255, 255, 255, 0.75); font-size: 13px; margin-top: 14px; text-align: center; }
.gl-lightbox__close, .gl-lightbox__prev, .gl-lightbox__next {
  position: absolute; display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%; border: none;
  background: rgba(255, 255, 255, 0.08); color: #fff; font-size: 20px; line-height: 1;
  cursor: pointer; transition: background .2s ease;
}
.gl-lightbox__close:hover, .gl-lightbox__prev:hover, .gl-lightbox__next:hover { background: rgba(255, 255, 255, 0.2); }
.gl-lightbox__close { top: -56px; right: 0; }
.gl-lightbox__prev { left: -60px; top: 50%; transform: translateY(-50%); }
.gl-lightbox__next { right: -60px; top: 50%; transform: translateY(-50%); }

@media (max-width: 768px) {
  .gl-lightbox__close { top: -48px; right: 0; width: 38px; height: 38px; }
  .gl-lightbox__prev { left: 4px; }
  .gl-lightbox__next { right: 4px; }
}

/* Indice visuel "cliquable" sur les vignettes de galerie : loupe au survol */
.gl-gallery-item { position: relative; }
.gl-gallery-item::after {
  content: '';
  position: absolute; inset: 0;
  background-color: rgba(0, 0, 0, 0);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px 32px;
  opacity: 0;
  transition: opacity .2s ease, background-color .2s ease;
  pointer-events: none;
}
.gl-gallery-item:hover::after { opacity: 1; background-color: rgba(0, 0, 0, 0.35); }
