/* filters, helpers, animated bits */

.multiply,
.multiply .wp-block-cover__background {
  mix-blend-mode: multiply;
}
.screen,
.screen .wp-block-cover__background {
  mix-blend-mode: screen;
}
.overlay,
.overlay .wp-block-cover__background {
  mix-blend-mode: overlay;
}
.darken,
.darken .wp-block-cover__background {
  mix-blend-mode: darken;
}
.darken-25 {
  filter: brightness(0.75);
}
.darken-50 {
  filter: brightness(0.5);
}
.darken-75 {
  filter: brightness(0.25);
}
.backdrop-darken-25 {
  backdrop-filter: brightness(0.75);
}
.backdrop-darken-35 {
  backdrop-filter: brightness(0.65);
}
.backdrop-darken-50 {
  backdrop-filter: brightness(0.5);
}
.backdrop-darken-75 {
  backdrop-filter: brightness(0.25);
}
.text-enhance {
  text-shadow: 0 0 6px black;
}
.flex-start {
  align-items: flex-start !important;
}
.mw-30 {
  min-width: 30%;
}
.mw-40 {
  min-width: 40%;
}
.mw-50 {
  min-width: 50%;
}

.mh-60 {
  min-height: 60vh !important;
}
.mh-80 {
  min-height: 80vh !important;
}
.mh-100 {
  min-height: 100vh !important;
}
.height-100 {
  height: 100%;
}
.nowrap {
  white-space: nowrap;
}
.shadow {
  box-shadow:
    0 13px 27px -5px rgba(93, 50, 23, 0.15),
    0 8px 16px -8px rgba(30, 20, 0, 0.2),
    0 -6px 16px -6px rgba(30, 20, 0, 2%);
  transition:
    box-shadow 0.2s ease-in-out,
    top 0.1s ease-in-out;
}
.shadow:hover {
  box-shadow:
    0 1px 7px -5px rgba(93, 50, 23, 0.25),
    0 3px 16px -8px rgba(30, 20, 0, 0.3),
    0 -6px 16px -6px rgba(30, 20, 0, 3%);
}
/* Mobile bits */
@media (max-width: 781px) {
  .is-style-mobile-reverse {
    flex-direction: column-reverse;
  }
  .mobile-pt-sm {
    padding-top: var(--wp--preset--spacing--20) !important;
  }
  .mobile-pb-sm {
    padding-bottom: var(--wp--preset--spacing--20) !important;
  }
  .mobile-pt-md {
    padding-top: var(--wp--preset--spacing--40) !important;
  }
  .mobile-negative-margin-top {
    margin-top: calc(var(--wp--preset--spacing--40) * -2) !important;
  }
  .mobile-negative-margin-bottom {
    margin-bottom: calc(var(--wp--preset--spacing--40) * -2) !important;
  }
  .mobile-fixed-140 {
    width: 140px !important;
  }
}
/* Fix for animated elements and scrolling - ensure hidden elements don't block scrolling */
.animate__animated {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
}

/* Ensure contents are still shown when element is hidden */
.animate__animated[style*="visibility: hidden"] {
  display: block !important;
  position: relative !important;
}

/* Fallback: Ensure animated elements are visible on mobile even if JS fails */
@media (max-width: 768px) {
  .animate__animated {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Ensure text animation elements are visible on mobile */
  .animate-text-chars .char,
  .animate-text-words .word,
  .animate-text-typewriter .char {
    opacity: 1 !important;
    transform: none !important;
  }
}
