.elementor-lightbox .elementor-slideshow__share-links a {
  display: flex;
  align-items: center;
  column-gap: 9px;
  min-height: 30px;
  line-height: 1.2;
}

.elementor-lightbox .elementor-slideshow__share-links a svg {
  flex: 0 0 15px;
  margin: 0;
}

/* The filenames are technical media titles, not useful captions. */
.elementor-lightbox .elementor-slideshow__footer {
  display: none;
}

.elementor-lightbox .e-eicon-share-arrow,
.elementor-lightbox .elementor-slideshow__share-menu,
.elementor-lightbox .e-eicon-zoom-in-bold,
.elementor-lightbox .e-eicon-zoom-out-bold {
  display: none !important;
}

/* Match the visible close glyph to the fullscreen glyph while keeping equal hit areas. */
.elementor-lightbox .dialog-lightbox-close-button {
  margin-top: 15px !important;
  padding: 3.5px !important;
}

.elementor-lightbox .dialog-lightbox-close-button svg {
  width: 23px !important;
  height: 23px !important;
}

/* Use more of the viewport while retaining each image's intrinsic size. */
.elementor-lightbox .elementor-lightbox-item {
  padding: 48px !important;
}

.elementor-lightbox .elementor-lightbox-image {
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Align slideshow navigation with the Recap content column. */
.elementor-lightbox .elementor-swiper-button-prev {
  left: var(--ff-lightbox-content-left, 10px) !important;
  transform: translate(-50%, -50%) !important;
}

.elementor-lightbox .elementor-swiper-button-next {
  right: var(--ff-lightbox-content-right, 10px) !important;
  transform: translate(50%, -50%) !important;
}

@media (max-width: 767px) {
  .elementor-lightbox .elementor-lightbox-item {
    padding: 52px 8px !important;
  }
}

.elementor-widget-gallery .elementor-gallery-item__overlay {
  display: none !important;
}

.elementor-widget-gallery .e-gallery-image.ff-responsive-preview {
  background-image: none !important;
  overflow: hidden;
}

.elementor-widget-gallery .ff-gallery-picture,
.elementor-widget-gallery .ff-gallery-responsive-image {
  display: block;
  width: 100%;
  height: 100%;
}

.elementor-widget-gallery .ff-gallery-responsive-image {
  object-fit: cover;
}

/* The balanced layout supplies explicit coordinates. Keep those coordinates
   independent of Elementor's optional gallery stylesheet in every browser. */
.elementor-widget-gallery .elementor-gallery__container.ff-gallery-balanced {
  position: relative;
  display: block;
}

.elementor-widget-gallery .ff-gallery-balanced > .elementor-gallery-item {
  position: absolute !important;
}

.elementor-widget-gallery .ff-gallery-balanced .e-gallery-image {
  height: 100%;
}

/* Keep Elementor's editor preview identical to the animation-free frontend. */
.elementor-widget-gallery,
.elementor-widget-gallery.animated,
.elementor-widget-gallery .elementor-gallery__container,
.elementor-widget-gallery .elementor-gallery-item,
.elementor-widget-gallery .e-gallery-image,
.elementor-widget-gallery .ff-gallery-picture,
.elementor-widget-gallery .ff-gallery-responsive-image {
  animation: none !important;
  animation-delay: 0s !important;
  transition: none !important;
}

.elementor-widget-gallery.elementor-invisible,
.elementor-widget-gallery .elementor-invisible {
  visibility: visible !important;
}

.elementor-widget-gallery .elementor-gallery-item,
.elementor-widget-gallery .e-gallery-item {
  opacity: 1 !important;
  overflow: hidden;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  transition: none !important;
}

.elementor-widget-gallery .e-gallery-image {
  opacity: 1 !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
}

.elementor-widget-gallery .elementor-gallery-item .ff-gallery-responsive-image {
  opacity: 0 !important;
  transform: none !important;
  transition: opacity 480ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.elementor-widget-gallery .elementor-gallery-item.ff-gallery-image-ready .ff-gallery-responsive-image {
  opacity: 1 !important;
}

@media (hover: hover) and (pointer: fine) {
  .elementor-widget-gallery .elementor-gallery-item.ff-gallery-image-ready .e-gallery-image {
    transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1) !important;
    will-change: transform;
  }

  .elementor-widget-gallery .elementor-gallery-item.ff-gallery-image-ready:hover .e-gallery-image {
    transform: scale(1.03) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-widget-gallery .elementor-gallery-item .e-gallery-image {
    transition: none !important;
  }

  .elementor-widget-gallery .elementor-gallery-item .ff-gallery-responsive-image {
    opacity: 1 !important;
    transition: none !important;
  }
}

.elementor-lightbox .swiper-slide-active .swiper-zoom-container {
  cursor: grab;
  touch-action: none;
}

.elementor-lightbox.ff-lightbox-dragging,
.elementor-lightbox.ff-lightbox-dragging .swiper-slide-active .swiper-zoom-container {
  cursor: grabbing;
  user-select: none;
}
