/* Valentia Mentoria — Subtle Polish & Motion Over Original Structure */
:root {
  --vm-navy: #0a3d62;
  --vm-teal: #1abc9c;
  --vm-orange: #ff6b2c;
  --vm-ease-spring: cubic-bezier(0.22, 1, 0.36, 1);
  --vm-ease-elastic: cubic-bezier(0.34, 1.56, 0.64, 1);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 84px;
}

/* Top scroll progress bar with orange dot tip */
.vm-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, var(--vm-teal), var(--vm-orange));
  z-index: 999999;
  transition: width 0.08s linear;
}
.vm-scroll-progress::after {
  content: "";
  position: absolute;
  right: -4px;
  top: -3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--vm-orange);
  box-shadow: 0 0 12px 2px rgba(255, 107, 44, 0.85);
}

/* Subtle spring Orange Dot follower on desktop */
.vm-cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--vm-orange);
  pointer-events: none;
  z-index: 999998;
  transform: translate3d(-100px, -100px, 0);
  transition: width 0.25s var(--vm-ease-elastic), height 0.25s var(--vm-ease-elastic), background-color 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 0 14px rgba(255, 107, 44, 0.6);
}
.vm-cursor-dot.is-hover {
  width: 36px;
  height: 36px;
  background: rgba(26, 188, 156, 0.14);
  border: 1.5px solid var(--vm-orange);
  box-shadow: 0 0 20px rgba(26, 188, 156, 0.35);
}
@media (hover: none), (max-width: 1024px) {
  .vm-cursor-dot { display: none !important; }
}

/* Sticky glassmorphic header keeping original layout */
header#masthead {
  position: sticky;
  top: 0;
  z-index: 9999;
}
header#masthead .ast-primary-header-bar {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: box-shadow 0.3s ease, background 0.3s ease;
}
body.vm-scrolled header#masthead .ast-primary-header-bar {
  box-shadow: 0 10px 30px -10px rgba(10, 61, 98, 0.14);
}

/* Animated underline on existing menu items */
.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
  position: relative;
}
.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 18px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--vm-teal), var(--vm-orange));
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.32s var(--vm-ease-spring);
}
.ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link::after,
.ast-builder-menu-1 .main-header-menu > .menu-item.current-menu-item > .menu-link::after {
  transform: scaleX(1);
  transform-origin: left center;
}

/* Hero section: keep original gradient & structure, add subtle canvas overlay */
.elementor-11 .elementor-element.elementor-element-2f4deb80 {
  position: relative;
  overflow: hidden;
}
.vm-hero-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.elementor-11 .elementor-element.elementor-element-2f4deb80 > .e-con-inner {
  position: relative;
  z-index: 2;
}

/* Existing buttons: smooth lift & glow */
.elementor-widget-button .elementor-button,
.ast-header-button-1 .ast-custom-button {
  transition: transform 0.3s var(--vm-ease-elastic), box-shadow 0.3s ease, background-color 0.3s ease !important;
}
.elementor-widget-button .elementor-button:hover,
.ast-header-button-1 .ast-custom-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px -8px rgba(10, 61, 98, 0.35) !important;
}

/* Existing 4 Infocards ("Qué podemos hacer") & 4 Value Cards ("Nuestros Valores") */
.elementor-11 .elementor-element.elementor-element-7930c726,
.elementor-11 .elementor-element.elementor-element-4c9c3ff8,
.elementor-11 .elementor-element.elementor-element-33d2b94b,
.elementor-11 .elementor-element.elementor-element-b389c46,
.elementor-11 .elementor-element.elementor-element-f18e268,
.elementor-11 .elementor-element.elementor-element-7b5d42b,
.elementor-11 .elementor-element.elementor-element-e842cda,
.elementor-11 .elementor-element.elementor-element-af17ebe {
  position: relative;
  overflow: hidden;
  border-radius: 18px !important;
  border: 1px solid rgba(10, 61, 98, 0.08) !important;
  box-shadow: 0 12px 30px -12px rgba(10, 61, 98, 0.09) !important;
  transition: transform 0.35s var(--vm-ease-spring), box-shadow 0.35s ease, border-color 0.35s ease !important;
}
.elementor-11 .elementor-element.elementor-element-7930c726:hover,
.elementor-11 .elementor-element.elementor-element-4c9c3ff8:hover,
.elementor-11 .elementor-element.elementor-element-33d2b94b:hover,
.elementor-11 .elementor-element.elementor-element-b389c46:hover,
.elementor-11 .elementor-element.elementor-element-f18e268:hover,
.elementor-11 .elementor-element.elementor-element-7b5d42b:hover,
.elementor-11 .elementor-element.elementor-element-e842cda:hover,
.elementor-11 .elementor-element.elementor-element-af17ebe:hover {
  transform: translateY(-6px);
  border-color: rgba(26, 188, 156, 0.45) !important;
  box-shadow: 0 22px 44px -12px rgba(10, 61, 98, 0.16) !important;
}

.hfe-infocard .hfe-icon-wrap .hfe-icon {
  transition: transform 0.35s var(--vm-ease-elastic);
}
.hfe-infocard:hover .hfe-icon-wrap .hfe-icon {
  transform: scale(1.14) rotate(-4deg);
}

/* Existing images: rounded corners & gentle hover zoom */
.elementor-widget-image img.attachment-large:not(.custom-logo) {
  border-radius: 18px !important;
  box-shadow: 0 18px 40px -14px rgba(10, 61, 98, 0.16);
  transition: transform 0.5s var(--vm-ease-spring), box-shadow 0.5s ease !important;
}
.elementor-widget-image:hover img.attachment-large:not(.custom-logo) {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 26px 52px -14px rgba(10, 61, 98, 0.24);
}

/* Existing Advisory blocks & Methodology blocks */
.elementor-11 .elementor-element.elementor-element-ef65bf1,
.elementor-11 .elementor-element.elementor-element-ec2dfe9,
.elementor-11 .elementor-element.elementor-element-7dc8483,
.elementor-11 .elementor-element.elementor-element-965e769,
.elementor-11 .elementor-element.elementor-element-031c153 {
  border-radius: 18px !important;
  transition: transform 0.35s var(--vm-ease-spring), box-shadow 0.35s ease !important;
}
.elementor-11 .elementor-element.elementor-element-ef65bf1:hover,
.elementor-11 .elementor-element.elementor-element-ec2dfe9:hover,
.elementor-11 .elementor-element.elementor-element-7dc8483:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px -12px rgba(10, 61, 98, 0.12);
}

/* Existing Checklists micro-interaction */
.elementor-icon-list-items .elementor-icon-list-item {
  transition: transform 0.25s var(--vm-ease-spring);
}
.elementor-icon-list-items .elementor-icon-list-item:hover {
  transform: translateX(5px);
}

/* Existing Timeline cards ("Casos de éxito") */
.uael-timeline-main .uael-events-inner-new {
  border-radius: 16px !important;
  box-shadow: 0 12px 28px -10px rgba(10, 61, 98, 0.1) !important;
  transition: transform 0.35s var(--vm-ease-spring), box-shadow 0.35s ease !important;
}
.uael-timeline-field:hover .uael-events-inner-new {
  transform: translateY(-4px);
  box-shadow: 0 20px 38px -10px rgba(26, 188, 156, 0.22) !important;
}

/* Existing Recursos Post Cards */
#recursos .elementor-post {
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 44px -14px rgba(5, 22, 38, 0.35) !important;
  transition: transform 0.35s var(--vm-ease-spring), box-shadow 0.35s ease !important;
}
#recursos .elementor-post:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 28px 56px -12px rgba(5, 22, 38, 0.48) !important;
}
#recursos .elementor-post__thumbnail {
  overflow: hidden;
}
#recursos .elementor-post__thumbnail img {
  transition: transform 0.55s var(--vm-ease-spring) !important;
}
#recursos .elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.05);
}

/* Existing Contact Form container & inputs */
.elementor-11 .elementor-element.elementor-element-0fb1030 {
  border-radius: 20px !important;
  box-shadow: 0 20px 48px -14px rgba(10, 61, 98, 0.14) !important;
}
.elementor-form .elementor-field-textual {
  border-radius: 10px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}
.elementor-form .elementor-field-textual:focus {
  border-color: var(--vm-teal) !important;
  box-shadow: 0 0 0 3px rgba(26, 188, 156, 0.16) !important;
}

/* Scroll reveal animations on existing blocks */
.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}
.vm-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 0.65s var(--vm-ease-spring), transform 0.65s var(--vm-ease-spring);
}
.vm-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media (prefers-reduced-motion: reduce) {
  .vm-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
