/*!************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./blocks/image/style.scss ***!
  \************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";

.wp-block-zentibuilder-image {
  margin: 0;
  width: var(--zb-img-width, 100%);
  transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.zb-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: var(--zb-img-ratio, auto);
  border-radius: var(--zb-img-radius-tl, 0px) var(--zb-img-radius-tr, 0px) var(--zb-img-radius-br, 0px) var(--zb-img-radius-bl, 0px);
  /* Shadow lives on the wrap: moves with parallax and follows any shape (circle included) */
  box-shadow: var(--zb-img-shadow, none);
  will-change: transform; /* parallax target */
}

.zb-img-wrap a {
  display: block;
}

.zb-img {
  display: block;
  width: 100%;
  height: var(--zb-img-height, auto);
  object-fit: var(--zb-img-fit, cover);
  object-position: var(--zb-img-pos, center center);
  filter: var(--zb-img-filter, none);
  transform: scale(1);
  transition: transform 0.5s ease, filter 0.5s ease;
}

.zb-img-overlay {
  position: absolute;
  inset: 0;
  background: var(--zb-img-overlay, transparent);
  pointer-events: none;
  border-radius: inherit;
}

/* --- HOVER ZOOM + GRAYSCALE→COLOR + FRAME HOVER --- */
@media (hover: hover) {
  .wp-block-zentibuilder-image.zb-has-hoverzoom:hover .zb-img {
    transform: scale(var(--zb-img-zoom, 1.1));
  }
  .wp-block-zentibuilder-image.zb-has-grayscale:hover .zb-img {
    filter: var(--zb-img-filter-hover, none);
  }
  .wp-block-zentibuilder-image.zb-has-hover {
    transition-duration: var(--zb-hover-duration, 300ms);
    transition-timing-function: var(--zb-hover-easing, ease);
  }
  .wp-block-zentibuilder-image.zb-has-hover:hover {
    transform: translateY(var(--zb-hover-lift, 0px)) scale(var(--zb-hover-scale, 1));
  }
}
/* --- CAPTION --- */
.zb-img-caption {
  font-size: var(--zb-img-caption-size, 14px);
  color: var(--zb-img-caption-color, inherit);
  text-align: var(--zb-img-caption-align, center);
  font-family: var(--zb-img-caption-family, inherit);
  padding-top: 8px;
}

/* --- RESPONSIVE: TABLET --- */
@media (max-width: 1024px) {
  .wp-block-zentibuilder-image {
    width: var(--zb-img-width-tablet, 100%);
  }
  .zb-img {
    height: var(--zb-img-height-tablet, auto);
    object-fit: var(--zb-img-fit-tablet, cover);
  }
  .zb-img-wrap {
    aspect-ratio: var(--zb-img-ratio-tablet, auto);
    border-radius: var(--zb-img-radius-tl-tablet, 0px) var(--zb-img-radius-tr-tablet, 0px) var(--zb-img-radius-br-tablet, 0px) var(--zb-img-radius-bl-tablet, 0px);
  }
}
/* --- RESPONSIVE: MOBILE --- */
@media (max-width: 768px) {
  .wp-block-zentibuilder-image {
    width: var(--zb-img-width-mobile, 100%);
  }
  .zb-img {
    height: var(--zb-img-height-mobile, auto);
    object-fit: var(--zb-img-fit-mobile, cover);
  }
  .zb-img-wrap {
    aspect-ratio: var(--zb-img-ratio-mobile, auto);
    border-radius: var(--zb-img-radius-tl-mobile, 0px) var(--zb-img-radius-tr-mobile, 0px) var(--zb-img-radius-br-mobile, 0px) var(--zb-img-radius-bl-mobile, 0px);
  }
}
/* --- LIGHTBOX --- */
.zb-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  cursor: zoom-out;
}

.zb-lightbox img {
  max-width: 92vw;
  max-height: 92vh;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

/* --- CONDITIONAL VISIBILITY (Frontend Only) --- */
@media (min-width: 1025px) {
  .wp-block-zentibuilder-image.zb-hide-desktop {
    display: none !important;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .wp-block-zentibuilder-image.zb-hide-tablet {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .wp-block-zentibuilder-image.zb-hide-mobile {
    display: none !important;
  }
}
/* --- ENTRANCE ANIMATIONS (animation-based: never fights hover transforms) --- */
.wp-block-zentibuilder-image.zb-has-animation {
  opacity: 0;
}

.wp-block-zentibuilder-image.zb-has-animation:not(.zb-is-visible).zb-anim-fadeUp {
  transform: translateY(30px);
}

.wp-block-zentibuilder-image.zb-has-animation:not(.zb-is-visible).zb-anim-fadeDown {
  transform: translateY(-30px);
}

.wp-block-zentibuilder-image.zb-has-animation:not(.zb-is-visible).zb-anim-fadeLeft {
  transform: translateX(-30px);
}

.wp-block-zentibuilder-image.zb-has-animation:not(.zb-is-visible).zb-anim-fadeRight {
  transform: translateX(30px);
}

.wp-block-zentibuilder-image.zb-has-animation:not(.zb-is-visible).zb-anim-zoomIn {
  transform: scale(0.9);
}

.wp-block-zentibuilder-image.zb-has-animation.zb-is-visible {
  opacity: 1;
  animation-duration: var(--zb-animation-duration, 800ms);
  animation-delay: var(--zb-animation-delay, 0ms);
  animation-timing-function: ease-out;
  animation-fill-mode: backwards;
}

.wp-block-zentibuilder-image.zb-has-animation.zb-is-visible.zb-anim-fadeUp {
  animation-name: zb-enter-fadeUp;
}

.wp-block-zentibuilder-image.zb-has-animation.zb-is-visible.zb-anim-fadeDown {
  animation-name: zb-enter-fadeDown;
}

.wp-block-zentibuilder-image.zb-has-animation.zb-is-visible.zb-anim-fadeLeft {
  animation-name: zb-enter-fadeLeft;
}

.wp-block-zentibuilder-image.zb-has-animation.zb-is-visible.zb-anim-fadeRight {
  animation-name: zb-enter-fadeRight;
}

.wp-block-zentibuilder-image.zb-has-animation.zb-is-visible.zb-anim-zoomIn {
  animation-name: zb-enter-zoomIn;
}

.wp-block-zentibuilder-image.zb-has-animation.zb-is-visible.zb-anim-fadeIn {
  animation-name: zb-enter-fadeIn;
}

@keyframes zb-enter-fadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes zb-enter-fadeDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes zb-enter-fadeLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes zb-enter-fadeRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes zb-enter-zoomIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes zb-enter-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-zentibuilder-image.zb-has-animation {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}
/* --- EXIT ANIMATIONS --- */
.wp-block-zentibuilder-image.zb-has-exit {
  transition: opacity 0.6s ease, transform 0.6s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-zentibuilder-image.zb-has-exit.zb-exit-triggered.zb-exit-fadeOut {
  opacity: 0;
}

.wp-block-zentibuilder-image.zb-has-exit.zb-exit-triggered.zb-exit-slideOutDown {
  transform: translateY(50px);
  opacity: 0;
}

.wp-block-zentibuilder-image.zb-has-exit.zb-exit-triggered.zb-exit-slideOutUp {
  transform: translateY(-50px);
  opacity: 0;
}

.wp-block-zentibuilder-image.zb-has-exit.zb-exit-triggered.zb-exit-zoomOut {
  transform: scale(0.8);
  opacity: 0;
}

/* --- MASK REVEAL --- */
.wp-block-zentibuilder-image.zb-has-mask .zb-img-wrap {
  mask-repeat: no-repeat;
  mask-position: center;
}

.wp-block-zentibuilder-image.zb-mask-wipeRight .zb-img-wrap {
  mask-image: linear-gradient(#000 0 0);
  mask-position: left center;
}

.wp-block-zentibuilder-image.zb-mask-wipeLeft .zb-img-wrap {
  mask-image: linear-gradient(#000 0 0);
  mask-position: right center;
}

.wp-block-zentibuilder-image.zb-mask-wipeTop .zb-img-wrap {
  mask-image: linear-gradient(#000 0 0);
  mask-position: center top;
}

.wp-block-zentibuilder-image.zb-mask-wipeBottom .zb-img-wrap {
  mask-image: linear-gradient(#000 0 0);
  mask-position: center bottom;
}

.wp-block-zentibuilder-image.zb-mask-circle .zb-img-wrap {
  mask-image: radial-gradient(circle, #000 99.9%, transparent 100%);
}

.wp-block-zentibuilder-image.zb-mask-custom .zb-img-wrap {
  mask-image: var(--zb-mask-svg, linear-gradient(#000 0 0));
}

/* Hidden before reveal */
.wp-block-zentibuilder-image.zb-has-mask:not(.zb-is-visible) .zb-img-wrap {
  mask-size: 0% 0%;
}

.wp-block-zentibuilder-image.zb-mask-wipeRight:not(.zb-is-visible) .zb-img-wrap,
.wp-block-zentibuilder-image.zb-mask-wipeLeft:not(.zb-is-visible) .zb-img-wrap {
  mask-size: 0% 100%;
}

.wp-block-zentibuilder-image.zb-mask-wipeTop:not(.zb-is-visible) .zb-img-wrap,
.wp-block-zentibuilder-image.zb-mask-wipeBottom:not(.zb-is-visible) .zb-img-wrap {
  mask-size: 100% 0%;
}

/* Reveal on entrance */
.wp-block-zentibuilder-image.zb-has-mask.zb-is-visible .zb-img-wrap {
  animation-duration: var(--zb-mask-duration, 900ms);
  animation-timing-function: ease-in-out;
  animation-fill-mode: backwards;
}

.wp-block-zentibuilder-image.zb-mask-wipeRight.zb-is-visible .zb-img-wrap {
  animation-name: zb-mask-wipeRight;
}

.wp-block-zentibuilder-image.zb-mask-wipeLeft.zb-is-visible .zb-img-wrap {
  animation-name: zb-mask-wipeLeft;
}

.wp-block-zentibuilder-image.zb-mask-wipeTop.zb-is-visible .zb-img-wrap {
  animation-name: zb-mask-wipeTop;
}

.wp-block-zentibuilder-image.zb-mask-wipeBottom.zb-is-visible .zb-img-wrap {
  animation-name: zb-mask-wipeBottom;
}

.wp-block-zentibuilder-image.zb-mask-circle.zb-is-visible .zb-img-wrap {
  animation-name: zb-mask-circle;
}

.wp-block-zentibuilder-image.zb-mask-custom.zb-is-visible .zb-img-wrap {
  animation-name: zb-mask-custom;
}

@keyframes zb-mask-wipeRight {
  from {
    mask-size: 0% 100%;
  }
  to {
    mask-size: 100% 100%;
  }
}
@keyframes zb-mask-wipeLeft {
  from {
    mask-size: 0% 100%;
  }
  to {
    mask-size: 100% 100%;
  }
}
@keyframes zb-mask-wipeTop {
  from {
    mask-size: 100% 0%;
  }
  to {
    mask-size: 100% 100%;
  }
}
@keyframes zb-mask-wipeBottom {
  from {
    mask-size: 100% 0%;
  }
  to {
    mask-size: 100% 100%;
  }
}
@keyframes zb-mask-circle {
  from {
    mask-size: 0% 0%;
  }
  to {
    mask-size: 190% 190%;
  }
}
@keyframes zb-mask-custom {
  from {
    mask-size: 0% 0%;
  }
  to {
    mask-size: 100% 100%;
  }
}

/*# sourceMappingURL=style-index.css.map*/