.finidev-dynamic-gallery > .wp-block-gallery {
  margin: 0;
}

.finidev-dynamic-gallery__gallery {
  gap: var(--finidev-gallery-gap, 16px) !important;
}

.finidev-dynamic-gallery__gallery img {
  border-radius: var(--finidev-gallery-image-radius, 0);
}

.finidev-dynamic-gallery__gallery[data-finidev-image-ratio]:not([data-finidev-image-ratio="natural"]) img {
  aspect-ratio: var(--finidev-gallery-image-ratio);
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.finidev-dynamic-gallery__placeholder {
  border: 1px dashed currentColor;
  border-radius: 8px;
  color: #646970;
  opacity: .78;
  padding: 16px;
  text-align: center;
}

.wp-block-gallery.is-finidev-responsive-grid,
.wp-block-gallery.is-finidev-masonry {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  --finidev-gallery-gap: var(--wp--style--unstable-gallery-gap, var(--wp--style--block-gap, 16px));
  --finidev-gallery-min-item-width: 260px;
}

.wp-block-gallery.is-finidev-responsive-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--finidev-gallery-min-item-width)), 1fr)) !important;
  gap: var(--finidev-gallery-gap) !important;
}

.wp-block-gallery.is-finidev-responsive-grid > .wp-block-image,
.wp-block-gallery.is-finidev-responsive-grid > .blocks-gallery-item {
  box-sizing: border-box !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
}

.wp-block-gallery.is-finidev-masonry {
  display: block !important;
  columns: var(--finidev-gallery-min-item-width);
  column-gap: var(--finidev-gallery-gap);
}

.wp-block-gallery.is-finidev-masonry > .wp-block-image,
.wp-block-gallery.is-finidev-masonry > .blocks-gallery-item {
  box-sizing: border-box !important;
  break-inside: avoid;
  display: block !important;
  margin: 0 0 var(--finidev-gallery-gap) !important;
  width: 100% !important;
}

.wp-block-gallery.is-finidev-responsive-grid[data-finidev-image-ratio]:not([data-finidev-image-ratio="natural"]) img,
.wp-block-gallery.is-finidev-masonry[data-finidev-image-ratio]:not([data-finidev-image-ratio="natural"]) img {
  aspect-ratio: var(--finidev-gallery-image-ratio);
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.wp-block-gallery.is-finidev-carousel {
  position: relative;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  align-self: stretch !important;
}
.wp-block-gallery.is-finidev-carousel > .finidev-carousel-viewport {
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.wp-block-gallery.is-finidev-carousel > .finidev-carousel-viewport > .finidev-carousel-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: max-content !important;
  will-change: transform;
}
.wp-block-gallery.is-finidev-carousel .finidev-carousel-slide {
  box-sizing: border-box !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.wp-block-gallery.is-finidev-carousel .finidev-carousel-slide img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
.wp-block-gallery.is-finidev-carousel .finidev-carousel-arrow {
  position: absolute;
  top: 50%; transform: translateY(-50%); z-index: 5; border: 0; background: rgba(255,255,255,.92); color: #111;
  width: 36px; height: 36px; border-radius: 999px; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
.wp-block-gallery.is-finidev-carousel .finidev-carousel-arrow-prev { left: 10px; }
.wp-block-gallery.is-finidev-carousel .finidev-carousel-arrow-next { right: 10px; }
.wp-block-gallery.is-finidev-carousel .finidev-carousel-dots { display:flex; justify-content:center; gap:8px; margin-top:12px; }
.wp-block-gallery.is-finidev-carousel .finidev-carousel-dot { width:8px; height:8px; border-radius:999px; border:0; background:#c7c7c7; padding:0; cursor:pointer; }
.wp-block-gallery.is-finidev-carousel .finidev-carousel-dot.is-active { background:#444; }
.wp-block-gallery.is-finidev-carousel[data-finidev-ticker-mode="true"] .finidev-carousel-arrow,
.wp-block-gallery.is-finidev-carousel[data-finidev-ticker-mode="true"] .finidev-carousel-dots { display:none !important; }
