/**
 * Standalone Elementor mirrors: loaded after Elementor + `post-*` CSS.
 *
 * 1) **Embedded `@keyframes`** — `/wp-content/plugins/elementor/.../*.min.css` may 404 when the v3
 *    app is not on the WP host root; without them `animation-name: fadeInLeft` does nothing.
 * 2) **Cascade overrides** — late bundles can strip `animation-name`; we re-assert after them.
 *
 * Scope: `body.ke-page-study-abroad-standalone` and `body.ke-page-imat-standalone`.
 */

/* ---- Elementor entrance @keyframes (mirrored from `assets/lib/animations/styles/*.min.css`) ---- */
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

/* ---- Force packaged names on revealed widgets ---- */
#ke-wp-mirror-root .animated.fadeInLeft,
#ke-wp-mirror-root .animated.fadeInLeft,
#ke-wp-mirror-root .animated.elementor-animation-fadeInLeft,
#ke-wp-mirror-root .animated.elementor-animation-fadeInLeft {
  visibility: visible !important;
  animation-name: fadeInLeft !important;
  animation-duration: 1.25s !important;
  animation-timing-function: ease !important;
  animation-fill-mode: both !important;
}

#ke-wp-mirror-root .animated.fadeInRight,
#ke-wp-mirror-root .animated.fadeInRight,
#ke-wp-mirror-root .animated.elementor-animation-fadeInRight,
#ke-wp-mirror-root .animated.elementor-animation-fadeInRight {
  visibility: visible !important;
  animation-name: fadeInRight !important;
  animation-duration: 1.25s !important;
  animation-timing-function: ease !important;
  animation-fill-mode: both !important;
}

#ke-wp-mirror-root .animated.fadeIn,
#ke-wp-mirror-root .animated.fadeIn,
#ke-wp-mirror-root .animated.elementor-animation-fadeIn,
#ke-wp-mirror-root .animated.elementor-animation-fadeIn {
  visibility: visible !important;
  animation-name: fadeIn !important;
  animation-duration: 1.25s !important;
  animation-timing-function: ease !important;
  animation-fill-mode: both !important;
}

#ke-wp-mirror-root .animated.fadeInDown,
#ke-wp-mirror-root .animated.fadeInDown,
#ke-wp-mirror-root .animated.elementor-animation-fadeInDown,
#ke-wp-mirror-root .animated.elementor-animation-fadeInDown {
  visibility: visible !important;
  animation-name: fadeInDown !important;
  animation-duration: 1.25s !important;
  animation-timing-function: ease !important;
  animation-fill-mode: both !important;
}

#ke-wp-mirror-root .animated.zoomIn,
#ke-wp-mirror-root .animated.zoomIn,
#ke-wp-mirror-root .animated.elementor-animation-zoomIn,
#ke-wp-mirror-root .animated.elementor-animation-zoomIn {
  visibility: visible !important;
  animation-name: zoomIn !important;
  animation-duration: 1.25s !important;
  animation-timing-function: ease !important;
  animation-fill-mode: both !important;
}

/* Elementor `frontend.min.css` sets `.animated { animation: none !important }` when reduced motion is on. */
@media (prefers-reduced-motion: reduce) {
  #ke-wp-mirror-root .animated.fadeInLeft,
  #ke-wp-mirror-root .animated.fadeInLeft,
  #ke-wp-mirror-root .animated.elementor-animation-fadeInLeft,
  #ke-wp-mirror-root .animated.elementor-animation-fadeInLeft {
    animation: fadeInLeft 1.25s ease both !important;
  }

  #ke-wp-mirror-root .animated.fadeInRight,
  #ke-wp-mirror-root .animated.fadeInRight,
  #ke-wp-mirror-root .animated.elementor-animation-fadeInRight,
  #ke-wp-mirror-root .animated.elementor-animation-fadeInRight {
    animation: fadeInRight 1.25s ease both !important;
  }

  #ke-wp-mirror-root .animated.fadeIn,
  #ke-wp-mirror-root .animated.fadeIn,
  #ke-wp-mirror-root .animated.elementor-animation-fadeIn,
  #ke-wp-mirror-root .animated.elementor-animation-fadeIn {
    animation: fadeIn 1.25s ease both !important;
  }

  #ke-wp-mirror-root .animated.fadeInDown,
  #ke-wp-mirror-root .animated.fadeInDown,
  #ke-wp-mirror-root .animated.elementor-animation-fadeInDown,
  #ke-wp-mirror-root .animated.elementor-animation-fadeInDown {
    animation: fadeInDown 1.25s ease both !important;
  }

  #ke-wp-mirror-root .animated.zoomIn,
  #ke-wp-mirror-root .animated.zoomIn,
  #ke-wp-mirror-root .animated.elementor-animation-zoomIn,
  #ke-wp-mirror-root .animated.elementor-animation-zoomIn {
    animation: zoomIn 1.25s ease both !important;
  }
}


/* ---- GLOBALLY OVERRIDE ELEMENTOR REDUCED MOTION OFF SWITCH ---- */
@media (prefers-reduced-motion: reduce) {
  #ke-wp-mirror-root .animated {
    animation-duration: 1.25s !important;
    animation-fill-mode: both !important;
  }
  #ke-wp-mirror-root [class*="elementor-animation-"] {
    transition: all 0.3s ease !important;
  }
  #ke-wp-mirror-root [class*="elementor-animation-"]:hover {
    transition: all 0.3s ease !important;
  }
  #ke-wp-mirror-root .elementor-animation-grow:hover {
    transform: scale(1.1) !important;
  }
  #ke-wp-mirror-root .elementor-animation-shrink:hover {
    transform: scale(0.9) !important;
  }
  #ke-wp-mirror-root .elementor-animation-push:hover {
    transform: scale(0.9) !important;
  }
  #ke-wp-mirror-root .elementor-animation-pop:hover {
    transform: scale(1.1) !important;
  }
  #ke-wp-mirror-root .elementor-animation-float:hover {
    transform: translateY(-8px) !important;
  }
  #ke-wp-mirror-root .elementor-animation-sink:hover {
    transform: translateY(8px) !important;
  }
}

  /* Force custom interactions like Stacking Cards and Pillars */
  #ke-wp-mirror-root .pillar,
  #ke-wp-mirror-root .pillar-collapsed-content,
  #ke-wp-mirror-root .pillar-expanded-content,
  #ke-wp-mirror-root .sh-card,
  #ke-wp-mirror-root .card,
  #ke-wp-mirror-root a,
  #ke-wp-mirror-root button {
    transition-duration: 0.6s !important;
  }

/* ---- PREMIUM HOVER ENHANCEMENTS ---- */
/* 1. Top Study Hubs (.sh-card) */
#ke-wp-mirror-root .sh-card {
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease !important;
}
#ke-wp-mirror-root .sh-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
  border-color: var(--ger-orange, #ed5024) !important;
}
#ke-wp-mirror-root .sh-card-img {
  transition: transform 0.5s ease !important;
}
#ke-wp-mirror-root .sh-card:hover .sh-card-img {
  transform: scale(1.1) !important;
}

/* 2. Preparatory Colleges (.uni-card) */
#ke-wp-mirror-root .uni-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
#ke-wp-mirror-root .uni-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.08) !important;
}
#ke-wp-mirror-root .uni-card .uni-badge {
  transition: background-color 0.3s ease, color 0.3s ease !important;
}
#ke-wp-mirror-root .uni-card:hover .uni-badge {
  background-color: var(--ke-pr, #ed5024) !important;
  color: #fff !important;
}

/* 3. Select Your Track (.pillar) */
#ke-wp-mirror-root .pillar {
  transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
#ke-wp-mirror-root .pillar:hover {
  background: linear-gradient(145deg, var(--ger-orange, #f39c12), #ffb84d) !important;
  box-shadow: 0 10px 30px rgba(243, 156, 18, 0.25) !important;
}
#ke-wp-mirror-root .pillar-expanded-content {
  opacity: 0;
  transition: opacity 0.4s ease 0.2s !important;
}
#ke-wp-mirror-root .pillar:hover .pillar-expanded-content {
  opacity: 1 !important;
}

/* 4. Global Interactions */
#ke-wp-mirror-root a,
#ke-wp-mirror-root button {
  transition: all 0.3s ease;
}
