/* Elementor Hero Motion v2.8.1 */
.ehm-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
  --ehm-ease: cubic-bezier(.4,0,.2,1);
}
.ehm-slide {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  transform: translate3d(0,0,0);
  transition: opacity var(--ehm-trans-dur,1s) var(--ehm-ease);
  z-index: 0;
  will-change: opacity;
  backface-visibility: hidden;
}
.ehm-slide.is-active { opacity: 1; z-index: 2; }
.ehm-slide.was-active { opacity: 0; z-index: 1; }
/* IMPORTANT: do NOT cancel animation on non-active; this avoids the 'bounce back' */
.ehm-slide img.ehm-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation-fill-mode: both;
  animation-duration: var(--ehm-duration, 10s);
  will-change: transform;
}

/* Overlay */
.ehm-overlay { position: absolute; inset: 0; display:flex; align-items:center; justify-content:center; padding:24px; pointer-events:none; }
.ehm-overlay .ehm-overlay-inner {
  pointer-events:auto;
  display:flex; flex-direction:column; align-items:center;
  gap: var(--ehm-gap, 12px);
  max-width:900px;
  background: transparent; /* adjustable via Style panel */
  color:#fff; padding:20px 28px; border-radius: var(--ehm-radius,14px);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  text-align:center;
  transform: translate(var(--ehm-ox,0px), var(--ehm-oy,0px));
}
.ehm-overlay .ehm-overlay-inner.no-shadow { box-shadow:none; }
.ehm-overlay .ehm-cta-media { line-height:0; }
.ehm-overlay .ehm-cta-img { display:block; margin:0; height:auto; max-width: var(--ehm-cta-img-w,140px); border-radius: var(--ehm-cta-img-r,0px); opacity: var(--ehm-cta-img-op,1); }
.ehm-overlay.pos-top-left    { align-items:flex-start; justify-content:flex-start; }
.ehm-overlay.pos-top-right   { align-items:flex-start; justify-content:flex-end; }
.ehm-overlay.pos-bottom-left { align-items:flex-end;   justify-content:flex-start; }
.ehm-overlay.pos-bottom-right{ align-items:flex-end;   justify-content:flex-end; }
.ehm-overlay .ehm-btn { display:inline-block; margin-top:10px; padding:10px 18px; background:#1a73e8; color:#fff; text-decoration:none; font-weight:600; border-radius:999px; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.ehm-overlay .ehm-btn:hover { transform: translateY(-1px); }

/* Layout variants */
.ehm-overlay-inner.layout-left { flex-direction:row; text-align:left; align-items:center; }
.ehm-overlay-inner.layout-right{ flex-direction:row-reverse; text-align:right; align-items:center; }
.ehm-overlay-inner.layout-above{ flex-direction:column; text-align:center; align-items:center; }

/* Hide overlay on mobile */
@media (max-width:767px){ .ehm-slider.ehm-hide-mobile-overlay .ehm-overlay { display:none !important; } }

/* Soft Fade (overlap) */
.transition-soft-fade .ehm-slide { opacity: 0; }
.transition-soft-fade .ehm-slide.is-active { opacity: 1; }
.transition-soft-fade .ehm-slide.was-active { opacity: 0; }

/* Simple Fade */
.transition-fade .ehm-slide { opacity: 0; }
.transition-fade .ehm-slide.is-active { opacity: 1; }
.transition-fade .ehm-slide.was-active { opacity: 0; }

/* Slide transitions */
.transition-slide-left  .ehm-slide { transform: translateX(100%); transition: transform var(--ehm-trans-dur,1s) var(--ehm-ease); }
.transition-slide-left  .ehm-slide.is-active { transform: translateX(0); }
.transition-slide-left  .ehm-slide.was-active { transform: translateX(-100%); }

.transition-slide-right .ehm-slide { transform: translateX(-100%); transition: transform var(--ehm-trans-dur,1s) var(--ehm-ease); }
.transition-slide-right .ehm-slide.is-active { transform: translateX(0); }
.transition-slide-right .ehm-slide.was-active { transform: translateX(100%); }

.transition-slide-up    .ehm-slide { transform: translateY(100%); transition: transform var(--ehm-trans-dur,1s) var(--ehm-ease); }
.transition-slide-up    .ehm-slide.is-active { transform: translateY(0); }
.transition-slide-up    .ehm-slide.was-active { transform: translateY(-100%); }

.transition-slide-down  .ehm-slide { transform: translateY(-100%); transition: transform var(--ehm-trans-dur,1s) var(--ehm-ease); }
.transition-slide-down  .ehm-slide.is-active { transform: translateY(0); }
.transition-slide-down  .ehm-slide.was-active { transform: translateY(100%); }

/* Motion Effects */
.ehm-img.zoom-in   { animation-name: ehm-zoomIn; }
.ehm-img.zoom-out  { animation-name: ehm-zoomOut; }
.ehm-img.pan-left  { animation-name: ehm-panLeft; }
.ehm-img.pan-right { animation-name: ehm-panRight; }
.ehm-img.pan-up    { animation-name: ehm-panUp; }
.ehm-img.pan-down  { animation-name: ehm-panDown; }
.ehm-img.kenburns  { animation-name: ehm-kenburns; }

@keyframes ehm-zoomIn   { from { transform: scale(1); }   to { transform: scale(1.2); } }
@keyframes ehm-zoomOut  { from { transform: scale(1.2); } to { transform: scale(1); } }
@keyframes ehm-panLeft  { from { transform: translateX(0); }   to { transform: translateX(-40px); } }
@keyframes ehm-panRight { from { transform: translateX(0); }   to { transform: translateX(40px); } }
@keyframes ehm-panUp    { from { transform: translateY(0); }   to { transform: translateY(-40px); } }
@keyframes ehm-panDown  { from { transform: translateY(0); }   to { transform: translateY(40px); } }
@keyframes ehm-kenburns { from { transform: scale(1) translate(0,0); } to { transform: scale(1.2) translate(-20px,-20px); } }


/* ARCCOMP v3.3.7: Containment & Interaction Fixes */
.ehm-slider{
  position: relative;
  overflow: hidden;      /* clip any child layers to the hero box */
  isolation: isolate;    /* create stacking context so z-index doesn't leak */
  z-index: 0;
}
/* Ensure overlay sits above active slide but only inside the hero */
.ehm-overlay{ position: absolute; z-index: 2; }
/* Avoid overlay blocking page below; only CTA elements are interactive */
.ehm-overlay{ pointer-events: none; }
.ehm-overlay .ehm-cta-media,
.ehm-overlay .ehm-cta-textwrap,
.ehm-overlay .ehm-cta-img,
.ehm-overlay a{ pointer-events: auto; }
