/* Force-show elements that animation JS may leave hidden on mobile.
 * Has to override INLINE styles set by GSAP/Liquid scripts, hence very
 * high specificity + !important. */

/* Elementor's "invisible until in viewport" */
.elementor-invisible,
.elementor-invisible * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Liquid theme split-text containers and their inner spans */
.lqd-split-lines,
.lqd-split-lines *,
.lqd-lines,
.lqd-lines *,
.split-inner,
.split-line,
.split-word,
.split-char,
.lqd-adv-txt-fig {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  -webkit-transform: none !important;
}

/* Mask-text wrapper — clips overflow so unanimated lines stay hidden below */
.mask-text,
.mask-text * {
  overflow: visible !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  clip-path: none !important;
}

/* Split-text data attribute */
[data-split-text="true"],
[data-split-text="true"] * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Custom-animations widget container and all descendants */
[data-custom-animations="true"],
[data-custom-animations="true"] *,
.lqd-el-has-inner-anim,
.lqd-el-has-inner-anim * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  -webkit-transform: none !important;
}

/* Defensive — fancy heading + general headings */
.ld-fancy-heading,
.ld-fancy-heading *,
.ld-fh-element,
.elementor-heading-title {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* In-view animations from various libraries */
[data-inview-text],
[data-inview-text] *,
[data-anim],
[data-anim] *,
.fade-anim-in,
.fade-anim-in *,
.lqd-fade-in,
.lqd-fade-in * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Hide any old fix.js-injected trigger from cached pages */
#ais-mobile-trigger { display: none !important; }

/* ============ Mobile menu — open state via .ais-mobile-nav-open on body ============ */

.ais-mobile-nav-open .mobile-navbar-collapse,
.ais-mobile-nav-open #lqd-mobile-sec-nav,
.ais-mobile-nav-open #main-header-collapse {
  display: block !important;
  position: fixed !important;
  top: 80px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: auto !important;
  background: #ffffff !important;
  z-index: 9998 !important;
  padding: 24px !important;
  overflow-y: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.ais-mobile-nav-open .mobile-navbar-collapse ul,
.ais-mobile-nav-open #lqd-mobile-sec-nav ul,
.ais-mobile-nav-open #main-header-collapse ul {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-direction: column !important;
}
.ais-mobile-nav-open .mobile-navbar-collapse li,
.ais-mobile-nav-open #lqd-mobile-sec-nav li,
.ais-mobile-nav-open #main-header-collapse li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #eee !important;
  width: 100% !important;
}
.ais-mobile-nav-open .mobile-navbar-collapse a,
.ais-mobile-nav-open #lqd-mobile-sec-nav a,
.ais-mobile-nav-open #main-header-collapse a {
  display: block !important;
  padding: 16px 0 !important;
  color: #103A40 !important;
  font-size: 18px !important;
  text-decoration: none !important;
}
.ais-mobile-nav-open {
  overflow: hidden;
}
