/* Fancybox homepage fixes
   - Supports Fancybox v3 DOM (.fancybox-container, .fancybox-content, .fancybox-image)
   - Does not break Fancybox v4 DOM (.fancybox__container, .fancybox__content, .fancybox__image)
*/

/* ---------- Fancybox v3 compatibility ---------- */
.fancybox-container {
  z-index: 99999 !important;
}

.fancybox-bg {
  background: rgba(0, 0, 0, 0.9) !important;
}

/* КРИТИЧНО: Переопределяем inline-стили для правильного размера изображений */
.fancybox-slide--image .fancybox-content,
.fancybox-slide--image .fancybox-image-wrap,
.fancybox-slide--image .fancybox-content[style] {
  width: auto !important;
  height: auto !important;
  min-width: auto !important;
  min-height: auto !important;
  max-width: 95vw !important;
  max-height: 95vh !important;
  padding: 0 !important;
  margin: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Убеждаемся, что изображение правильно масштабируется */
.fancybox-slide--image .fancybox-image,
.fancybox-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: auto !important;
  min-height: auto !important;
  max-width: 95vw !important;
  max-height: 95vh !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* Контейнер слайда должен растягиваться */
.fancybox-slide--image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Viewport должен занимать всю высоту */
.fancybox-viewport {
  width: 100% !important;
  height: 100% !important;
}

/* Toolbar / buttons visible */
.fancybox-toolbar,
.fancybox-navigation,
.fancybox-button {
  z-index: 100000 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ---------- Fancybox v4 compatibility (safe overrides) ---------- */
.fancybox__container {
  z-index: 99999 !important;
  height: 100vh !important;
  height: 100dvh !important; /* Поддержка динамического viewport */
}

/* КРИТИЧНО: Carousel и Viewport должны занимать всю высоту */
.fancybox__carousel,
.fancybox__viewport {
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
}

/* Track должен растягиваться */
.fancybox__track {
  height: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
}

/* Аналогичные правила для v4: контент должен растягиваться и центрировать картинку */
.fancybox__slide.has-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  padding: 0 !important;
}

/* КРИТИЧНО: Переопределяем ВСЕ возможные inline-стили для content */
.fancybox__slide.has-image .fancybox__content,
.fancybox__slide.has-image .fancybox__content[style] {
  width: auto !important;
  height: auto !important;
  min-width: auto !important;
  min-height: auto !important;
  max-width: 95vw !important;
  max-height: 95vh !important;
  max-height: 95dvh !important; /* Поддержка динамического viewport */
  padding: 0 !important;
  margin: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  flex-shrink: 0 !important;
}

/* КРИТИЧНО: Изображение должно правильно масштабироваться */
.fancybox__slide.has-image .fancybox__image,
.fancybox__slide.has-image img.fancybox__image,
.fancybox__image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: auto !important;
  min-height: auto !important;
  max-width: 95vw !important;
  max-height: 95vh !important;
  max-height: 95dvh !important; /* Поддержка динамического viewport */
  object-fit: contain !important;
  margin: 0 auto !important;
  flex-shrink: 0 !important;
}

