.elementor-2723 .elementor-element.elementor-element-34f6201{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2723 .elementor-element.elementor-element-6dd024f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2723 .elementor-element.elementor-element-9266ff5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2723 .elementor-element.elementor-element-4147fb7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2723 .elementor-element.elementor-element-36a3bcd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2723 .elementor-element.elementor-element-af7319e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2723 .elementor-element.elementor-element-9e85ceb{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2723 .elementor-element.elementor-element-ee2c4c3{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2723 .elementor-element.elementor-element-7559592{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-2723 .elementor-element.elementor-element-9266ff5{--width:100%;}}/* Start custom CSS *//* ===============================
   FONDO GLOBAL FUNCIONAL (LIVE) - VERSIÓN FINAL SUAVE
   =============================== */

html {
  margin: 0;
  min-height: 100%;
  
  /* --- DESKTOP (PERFECTO) --- */
  background: linear-gradient(
    125deg,
    #ffffff 0%,
    #f3f4f6 25%,
    #bae6fd 45%,
    #e0e7ff 65%,
    #ffffff 100%
  );
  background-size: 300% 300%;
  animation: auroraFlowDesktop 10s ease-in-out infinite alternate;
  will-change: background-position;
}

body {
  margin: 0;
  min-height: 100vh;
  background: transparent !important;
  position: relative;
  overflow-x: hidden;
}

/* --- MÓVIL (SUAVE Y VISIBLE) --- */
@media (max-width: 768px) {
  html {
    background: linear-gradient(
      160deg,       /* Ángulo un poco más vertical para que caiga mejor */
      #ffffff 0%,
      #bae6fd 35%,  /* Azul suave */
      #e0e7ff 65%,  /* Índigo suave */
      #ffffff 100%
    );
    /* Mantenemos el tamaño grande para que cubra todo sin cortes */
    background-size: 400% 400%;
    
    /* EL CAMBIO CLAVE: 20 segundos.
       Al ser lento, recupera la elegancia del desktop. */
    animation: auroraFlowMobile 20s ease-in-out infinite alternate;
  }
}

/* Capa puntos (Sin cambios) */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(#94a3b8 1px, transparent 1px);
  background-size: 30px 30px;
  opacity: 0.3;
  animation: dotsFloat 20s linear infinite;
  pointer-events: none;
}

body > * {
  position: relative;
  z-index: 1;
}

/* --- ANIMACIONES --- */

@keyframes auroraFlowDesktop {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

/* La diagonal suave para móvil */
@keyframes auroraFlowMobile {
  0% { background-position: 10% 10%; }   /* No empezamos en el borde exacto para evitar blancos puros */
  100% { background-position: 90% 90%; } /* Terminamos antes del final para mantener color */
}

@keyframes dotsFloat {
  0% { transform: translate(0, 0); }
  50% { transform: translate(10px, -20px); }
  100% { transform: translate(0, 0); }
}/* End custom CSS */