.elementor-13 .elementor-element.elementor-element-8b5e99e{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overflow:hidden;--overlay-opacity:1;--border-radius:5px 5px 5px 5px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:3;}.elementor-13 .elementor-element.elementor-element-8b5e99e::before, .elementor-13 .elementor-element.elementor-element-8b5e99e > .elementor-background-video-container::before, .elementor-13 .elementor-element.elementor-element-8b5e99e > .e-con-inner > .elementor-background-video-container::before, .elementor-13 .elementor-element.elementor-element-8b5e99e > .elementor-background-slideshow::before, .elementor-13 .elementor-element.elementor-element-8b5e99e > .e-con-inner > .elementor-background-slideshow::before, .elementor-13 .elementor-element.elementor-element-8b5e99e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-13 .elementor-element.elementor-element-b2d03bd.elementor-element{--align-self:center;}.elementor-13 .elementor-element.elementor-element-b2d03bd{z-index:9999;}.elementor-13 .elementor-element.elementor-element-b2d03bd .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:18.6rem;font-weight:900;mix-blend-mode:difference;color:#FFFFFF;}.elementor-13 .elementor-element.elementor-element-1dc6544.elementor-element{--align-self:center;}.elementor-13 .elementor-element.elementor-element-1dc6544{z-index:9999;}.elementor-13 .elementor-element.elementor-element-1dc6544 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:20rem;font-weight:400;-webkit-text-stroke-width:1px;stroke-width:1px;-webkit-text-stroke-color:#FFFFFF;stroke:#FFFFFF;mix-blend-mode:darken;color:#FFFFFF33;}.elementor-13 .elementor-element.elementor-element-2608671{--display:flex;--position:absolute;--min-height:100vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--overlay-opacity:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:50%;--z-index:0;}.elementor-13 .elementor-element.elementor-element-2608671::before, .elementor-13 .elementor-element.elementor-element-2608671 > .elementor-background-video-container::before, .elementor-13 .elementor-element.elementor-element-2608671 > .e-con-inner > .elementor-background-video-container::before, .elementor-13 .elementor-element.elementor-element-2608671 > .elementor-background-slideshow::before, .elementor-13 .elementor-element.elementor-element-2608671 > .e-con-inner > .elementor-background-slideshow::before, .elementor-13 .elementor-element.elementor-element-2608671 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#272727;--background-overlay:'';}body:not(.rtl) .elementor-13 .elementor-element.elementor-element-2608671{left:50%;}body.rtl .elementor-13 .elementor-element.elementor-element-2608671{right:50%;}.elementor-13 .elementor-element.elementor-element-5915bac{--display:flex;--min-height:100vh;--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-13 .elementor-element.elementor-element-199ff84{--display:flex;--min-height:100vh;--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-13 .elementor-element.elementor-element-a994ac2 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-13 .elementor-element.elementor-element-bddb310{--display:flex;--min-height:100vh;--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-13 .elementor-element.elementor-element-9b6a3ea .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-13 .elementor-element.elementor-element-caab806{--display:flex;--min-height:100vh;--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-13 .elementor-element.elementor-element-e054d6e{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-13 .elementor-element.elementor-element-3dbec89{padding:0% 0% 4% 0%;}.elementor-13 .elementor-element.elementor-element-060475b{--display:flex;--min-height:100px;--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-13 .elementor-element.elementor-element-4938603{--display:flex;--min-height:100px;--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-13 .elementor-element.elementor-element-a2a244a{--display:flex;--min-height:100px;--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-13 .elementor-element.elementor-element-14576a1{--display:flex;--min-height:100px;--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-13 .elementor-element.elementor-element-733a920{--display:flex;--min-height:100px;--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-13 .elementor-element.elementor-element-3b56ce0{--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;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-13 .elementor-element.elementor-element-e8ede0f .elementor-button{background-color:#000000;font-family:"Bebas Neue", Sans-serif;font-size:36px;font-weight:500;border-radius:0px 0px 0px 0px;}.elementor-13 .elementor-element.elementor-element-e8ede0f .elementor-button:hover, .elementor-13 .elementor-element.elementor-element-e8ede0f .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-13 .elementor-element.elementor-element-e8ede0f .elementor-button:hover svg, .elementor-13 .elementor-element.elementor-element-e8ede0f .elementor-button:focus svg{fill:#000000;}.elementor-13 .elementor-element.elementor-element-f3e5622{--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;}.elementor-13 .elementor-element.elementor-element-5bb68b2{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0% 0% 0% 0%;}body.elementor-page-13:not(.elementor-motion-effects-element-type-background), body.elementor-page-13 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-13 .elementor-element.elementor-element-b2d03bd .elementor-heading-title{font-size:9.8rem;}.elementor-13 .elementor-element.elementor-element-1dc6544 .elementor-heading-title{font-size:5.5rem;}.elementor-13 .elementor-element.elementor-element-2608671{--width:250%;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-13 .elementor-element.elementor-element-199ff84{--width:45%;}.elementor-13 .elementor-element.elementor-element-bddb310{--width:45%;}}@media(min-width:768px){.elementor-13 .elementor-element.elementor-element-8b5e99e{--width:100%;}.elementor-13 .elementor-element.elementor-element-2608671{--width:150%;}.elementor-13 .elementor-element.elementor-element-5915bac{--width:50%;}.elementor-13 .elementor-element.elementor-element-199ff84{--width:50%;}.elementor-13 .elementor-element.elementor-element-bddb310{--width:50%;}.elementor-13 .elementor-element.elementor-element-caab806{--width:50%;}.elementor-13 .elementor-element.elementor-element-060475b{--width:100%;}.elementor-13 .elementor-element.elementor-element-4938603{--width:100%;}.elementor-13 .elementor-element.elementor-element-a2a244a{--width:100%;}.elementor-13 .elementor-element.elementor-element-14576a1{--width:100%;}.elementor-13 .elementor-element.elementor-element-733a920{--width:100%;}}/* Start custom CSS for heading, class: .elementor-element-b2d03bd *//* 1. Derecha → izquierda (texto--que--se--va--d) */
.texto--que--se--va--d {
  position: relative;
  animation: slideFadeD 5s linear forwards;
  opacity: 0;                 /* por si se muestra sin animar */
}

@keyframes slideFadeD {
  /* Arranca fuera de pantalla, derecha */
  0%   { opacity: 0; transform: translateX(100%); z-index: 10; }

  /* Se hace visible muy rápido y sigue moviéndose */
  10%  { opacity: 1; }

  /* Va desvaneciéndose mientras cruza la pantalla */
  90%  { opacity: 0.2; }

  /* Sale por la izquierda, ya invisible y por debajo */
  100% { opacity: 0; transform: translateX(-100%); z-index: 0; }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1dc6544 *//* 2. Izquierda → derecha (texto--que--se--va--i) */
.texto--que--se--va--i {
  position: relative;
  animation: slideFadeI 5s linear forwards;
  opacity: 0;
}

@keyframes slideFadeI {
  0%   { opacity: 0; transform: translateX(-100%); z-index: 10; }
  10%  { opacity: 1; }
  90%  { opacity: 0.2; }
  100% { opacity: 0; transform: translateX(100%); z-index: 0; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2608671 */.diagonal {
    transform: translate3d(-50%,-50%,0) rotate(-45deg) ;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3dbec89 *//* CSS */
.scroll-indicator {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 3px solid currentColor;      /* toma el color del texto */
  color: #fff;                         /* cambia a tu gusto */
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  pointer-events: none;                /* que no intercepte clics */
  animation: float 3.5s ease-in-out infinite;
  z-index: 2000;
}

/* Flotación global del círculo */
@keyframes float {
  0%, 100% { transform: translate(0%, 10%); }
  50%      { transform: translate(0%, 0%); }
}

.scroll-indicator .arrow {
  position: absolute;
  left: 50%;
  width: 10px;
  height: 10px;
  border-bottom: 3px solid;
  border-right: 3px solid;
  transform: translateX(-50%) rotate(45deg);
  opacity: 0.85;
}

/* Flecha interior superior */
.arrow-1 {
  bottom: 40%;
  animation: arrow-float 1.6s linear infinite;
}

/* Flecha interior inferior (ligeramente desfasada) */
.arrow-2 {
  bottom: 30%;
  animation: arrow-float 1.6s linear infinite 0.8s;
}

/* Animación individual de flechas */
@keyframes arrow-float {
  0%   { transform: translate(-50%, 0)   rotate(45deg); opacity: 0; }
  50%  { transform: translate(-50%, 6px) rotate(45deg); opacity: 0.9; }
  100% { transform: translate(-50%, 12px) rotate(45deg); opacity: 0; }
}

/* Para probar sobre fondo oscuro demuéstralo así */
body {
  min-height: 100vh;                   /* para poder hacer scroll */
  background: #111;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b5e99e */.img-hero {
    filter: saturate(0);
}

.img-hero:hover {
 transition: 0.3s ease;
  filter: saturate(1);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-b61d082 *//* Span con efecto hover */
.efecto--hover--imagenes1 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes1:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes1::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/3d-visualizations-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes1:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}


/*Imgen circulo 2*/



/* Span con efecto hover */
.efecto--hover--imagenes2 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes2:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes2::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/Ceremonia-de-boda-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes2:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 2 Fin */

/*Imgen circulo 9*/



/* Span con efecto hover */
.efecto--hover--imagenes9 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes9:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes9::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/dancefloors-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes9:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 9 Fin */






/* Brillo giratorio alrededor de la imagen circular */
.efecto--hover--imagenes::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 200px;
  height: 200px;
  background: conic-gradient(from 0deg, transparent, #e900dd, transparent, #ff00e6, transparent);
  border-radius: 50%; /* ← TAMBIÉN CIRCULAR */
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease;
  z-index: 999;
  pointer-events: none;
}

.efecto--hover--imagenes:hover::before {
  opacity: 0.6;
  visibility: visible;
  animation: spinGlow 2s linear infinite;
}

/* ANIMACIONES */
@keyframes bounceIn {
  0% {
    transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) translateY(5px) scale(1.1) rotate(-10deg);
    opacity: 0.8;
  }
  75% {
    transform: translateX(-50%) translateY(15px) scale(0.95) rotate(5deg);
    opacity: 0.9;
  }
  100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    opacity: 1;
  }
}

@keyframes floatImage {
  0%, 100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  }
  25% {
    transform: translateX(-50%) translateY(5px) scale(1.02) rotate(1deg);
  }
  50% {
    transform: translateX(-50%) translateY(15px) scale(0.98) rotate(-1deg);
  }
  75% {
    transform: translateX(-50%) translateY(8px) scale(1.01) rotate(0.5deg);
  }
}

@keyframes spinGlow {
  0% { transform: translateX(-50%) translateY(10px) rotate(0deg); }
  100% { transform: translateX(-50%) translateY(10px) rotate(360deg); }
}

@keyframes textPulse {
  0%, 100% {
    text-shadow: 0 0 5px rgba(233, 0, 221, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(233, 0, 221, 0.8), 0 0 30px rgba(233, 0, 221, 0.4);
  }
}

/* Versiones alternativas CIRCULARES */
.efecto--hover--imagenes.imagen-grande::after {
  width: 220px;
  height: 220px;
  border-radius: 50%;
}

.efecto--hover--imagenes.imagen-grande::before {
  width: 240px;
  height: 240px;
  border-radius: 50%;
}

/* 0. Asegúrate de tener en <head>:
   <meta name="viewport" content="width=device-width,initial-scale=1"> */

/* 1.  Escalado tipográfico y espaciado global
--------------------------------------------------------------*/


/* Spans interactivos: menos padding en pantallas chicas */
.efecto--hover--imagenes1,
.efecto--hover--imagenes2,
.efecto--hover--imagenes3,
.efecto--hover--imagenes4,
.efecto--hover--imagenes5,
.efecto--hover--imagenes6,
.efecto--hover--imagenes7,
.efecto--hover--imagenes8,
.efecto--hover--imagenes9,
.efecto--hover--imagenes10,
.efecto--hover--imagenes11,
.efecto--hover--imagenes12,
.efecto--hover--imagenes14,
.efecto--hover--imagenes13,
.efecto--hover--imagenes15{
  padding: 2px 6px;
}


/* 3.  Móviles ≤ 480 px
--------------------------------------------------------------*/
@media (max-width: 480px) {
  /* Título y texto más compactos */
  .service-hover-title { font-size: 20px; }
  .text--hover__services_internos .hover-text { font-size: 18px; }

  /* Mini‑imágenes aún más pequeñas */
 .efecto--hover--imagenes1::after,
.efecto--hover--imagenes2::after,
.efecto--hover--imagenes3::after,
.efecto--hover--imagenes4::after,
.efecto--hover--imagenes5::after,
.efecto--hover--imagenes6::after,
.efecto--hover--imagenes7::after,
.efecto--hover--imagenes8::after,
.efecto--hover--imagenes9::after,
.efecto--hover--imagenes10::after,
.efecto--hover--imagenes11::after,
.efecto--hover--imagenes12::after,
.efecto--hover--imagenes13::after,
.efecto--hover--imagenes14::after,
.efecto--hover--imagenes15::after {
  width: 100px;
  height: 100px;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1d75179 *//* Span con efecto hover */
.efecto--hover--imagenes3 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes3:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes3::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/Color-temperature-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes3:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}

/* Brillo giratorio alrededor de la imagen circular */
.efecto--hover--imagenes3::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 200px;
  height: 200px;
  background: conic-gradient(from 0deg, transparent, #e900dd, transparent, #ff00e6, transparent);
  border-radius: 50%; /* ← TAMBIÉN CIRCULAR */
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease;
  z-index: 999;
  pointer-events: none;
}

.efecto--hover--imagenes3:hover::before {
  opacity: 0.6;
  visibility: visible;
  animation: spinGlow 2s linear infinite;
}

/*Imgen circulo 10*/



/* Span con efecto hover */
.efecto--hover--imagenes10 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes10:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes10::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/Custom-lightscapes-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes10:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 10 Fin */


/*Imgen circulo 11*/



/* Span con efecto hover */
.efecto--hover--imagenes11 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes11:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes11::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/dynamic-effects-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes11:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 11 Fin */


/* ANIMACIONES */
@keyframes bounceIn {
  0% {
    transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) translateY(5px) scale(1.1) rotate(-10deg);
    opacity: 0.8;
  }
  75% {
    transform: translateX(-50%) translateY(15px) scale(0.95) rotate(5deg);
    opacity: 0.9;
  }
  100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    opacity: 1;
  }
}

@keyframes floatImage {
  0%, 100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  }
  25% {
    transform: translateX(-50%) translateY(5px) scale(1.02) rotate(1deg);
  }
  50% {
    transform: translateX(-50%) translateY(15px) scale(0.98) rotate(-1deg);
  }
  75% {
    transform: translateX(-50%) translateY(8px) scale(1.01) rotate(0.5deg);
  }
}

@keyframes spinGlow {
  0% { transform: translateX(-50%) translateY(10px) rotate(0deg); }
  100% { transform: translateX(-50%) translateY(10px) rotate(360deg); }
}

@keyframes textPulse {
  0%, 100% {
    text-shadow: 0 0 5px rgba(233, 0, 221, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(233, 0, 221, 0.8), 0 0 30px rgba(233, 0, 221, 0.4);
  }
}

/* Versiones alternativas CIRCULARES */
.efecto--hover--imagenes.imagen-grande::after {
  width: 220px;
  height: 220px;
  border-radius: 50%;
}

.efecto--hover--imagenes.imagen-grande::before {
  width: 240px;
  height: 240px;
  border-radius: 50%;
}

/* Responsive - Tablets */
@media (max-width: 768px) {
  .efecto--hover--imagenes::after {
    width: 150px;
    height: 150px;
  }
  
  .efecto--hover--imagenes::before {
    width: 170px;
    height: 170px;
  }
  
  .efecto--hover--imagenes.imagen-grande::after {
    width: 180px;
    height: 180px;
  }
  
  .efecto--hover--imagenes.imagen-grande::before {
    width: 200px;
    height: 200px;
  }
}

/* Responsive - Móviles */
@media (max-width: 480px) {
  .efecto--hover--imagenes::after {
    width: 120px;
    height: 120px;
  }
  
  .efecto--hover--imagenes::before {
    width: 140px;
    height: 140px;
  }
  
  /* En móviles, cambiar hover por tap */
  .efecto--hover--imagenes:active::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards;
  }
  
  .efecto--hover--imagenes:active::before {
    opacity: 0.6;
    visibility: visible;
    animation: spinGlow 2s linear infinite;
  }
}


.text--hover__services_internos {
  display: flex;
  justify-content: center;   /* Centrado horizontal */
  align-items: center;       /* Centrado vertical */
  text-align: center;        /* Centra el texto dentro del span */
  height: 100%;              /* Asegúrate de que el contenedor tenga altura */
  width: 100%;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-9325c93 *//* Span con efecto hover */
.efecto--hover--imagenes12 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes12:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes12::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/3D-modeled-sound-systems-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes12:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}

/* Brillo giratorio alrededor de la imagen circular */
.efecto--hover--imagenes12::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 200px;
  height: 200px;
  background: conic-gradient(from 0deg, transparent, #e900dd, transparent, #ff00e6, transparent);
  border-radius: 50%; /* ← TAMBIÉN CIRCULAR */
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease;
  z-index: 999;
  pointer-events: none;
}

.efecto--hover--imagenes12:hover::before {
  opacity: 0.6;
  visibility: visible;
  animation: spinGlow 2s linear infinite;
}


/*Imgen circulo 13*/



/* Span con efecto hover */
.efecto--hover--imagenes13 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes13:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes13::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/crisp-audio--scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes13:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 13 Fin */



/*Imgen circulo 14*/



/* Span con efecto hover */
.efecto--hover--imagenes14 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes14:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes14::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/across-every-zone-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes14:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 14 Fin */




/* ANIMACIONES */
@keyframes bounceIn {
  0% {
    transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) translateY(5px) scale(1.1) rotate(-10deg);
    opacity: 0.8;
  }
  75% {
    transform: translateX(-50%) translateY(15px) scale(0.95) rotate(5deg);
    opacity: 0.9;
  }
  100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    opacity: 1;
  }
}

@keyframes floatImage {
  0%, 100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  }
  25% {
    transform: translateX(-50%) translateY(5px) scale(1.02) rotate(1deg);
  }
  50% {
    transform: translateX(-50%) translateY(15px) scale(0.98) rotate(-1deg);
  }
  75% {
    transform: translateX(-50%) translateY(8px) scale(1.01) rotate(0.5deg);
  }
}

@keyframes spinGlow {
  0% { transform: translateX(-50%) translateY(10px) rotate(0deg); }
  100% { transform: translateX(-50%) translateY(10px) rotate(360deg); }
}

@keyframes textPulse {
  0%, 100% {
    text-shadow: 0 0 5px rgba(233, 0, 221, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(233, 0, 221, 0.8), 0 0 30px rgba(233, 0, 221, 0.4);
  }
}

/* Versiones alternativas CIRCULARES */
.efecto--hover--imagenes.imagen-grande::after {
  width: 220px;
  height: 220px;
  border-radius: 50%;
}

.efecto--hover--imagenes.imagen-grande::before {
  width: 240px;
  height: 240px;
  border-radius: 50%;
}

/* Responsive - Tablets */
@media (max-width: 768px) {
  .efecto--hover--imagenes::after {
    width: 150px;
    height: 150px;
  }
  
  .efecto--hover--imagenes::before {
    width: 170px;
    height: 170px;
  }
  
  .efecto--hover--imagenes.imagen-grande::after {
    width: 180px;
    height: 180px;
  }
  
  .efecto--hover--imagenes.imagen-grande::before {
    width: 200px;
    height: 200px;
  }
}

/* Responsive - Móviles */
@media (max-width: 480px) {
  .efecto--hover--imagenes::after {
    width: 120px;
    height: 120px;
  }
  
  .efecto--hover--imagenes::before {
    width: 140px;
    height: 140px;
  }
  
  /* En móviles, cambiar hover por tap */
  .efecto--hover--imagenes:active::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards;
  }
  
  .efecto--hover--imagenes:active::before {
    opacity: 0.6;
    visibility: visible;
    animation: spinGlow 2s linear infinite;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-2a445cf *//* Span con efecto hover */
.efecto--hover--imagenes4 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes4:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes4::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/Logistics-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes4:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}

/* Brillo giratorio alrededor de la imagen circular */
.efecto--hover--imagenes4::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 200px;
  height: 200px;
  background: conic-gradient(from 0deg, transparent, #e900dd, transparent, #ff00e6, transparent);
  border-radius: 50%; /* ← TAMBIÉN CIRCULAR */
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease;
  z-index: 999;
  pointer-events: none;
}

.efecto--hover--imagenes4:hover::before {
  opacity: 0.6;
  visibility: visible;
  animation: spinGlow 2s linear infinite;
}


/*Imgen circulo 5*/



/* Span con efecto hover */
.efecto--hover--imagenes5 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes5:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes5::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/vertors-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes5:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 5 Fin */





/*Borbuga numero 6*/
/* Span con efecto hover */
.efecto--hover--imagenes6 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes6:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes6::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/Vestuario-y-maquillaje-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes6:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}

/* Brillo giratorio alrededor de la imagen circular */
.efecto--hover--imagenes6::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 200px;
  height: 200px;
  background: conic-gradient(from 0deg, transparent, #e900dd, transparent, #ff00e6, transparent);
  border-radius: 50%; /* ← TAMBIÉN CIRCULAR */
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease;
  z-index: 999;
  pointer-events: none;
}

.efecto--hover--imagenes6:hover::before {
  opacity: 0.6;
  visibility: visible;
  animation: spinGlow 2s linear infinite;
}


/*Fin de borbuja numero 6 */


/* ANIMACIONES */
@keyframes bounceIn {
  0% {
    transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) translateY(5px) scale(1.1) rotate(-10deg);
    opacity: 0.8;
  }
  75% {
    transform: translateX(-50%) translateY(15px) scale(0.95) rotate(5deg);
    opacity: 0.9;
  }
  100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    opacity: 1;
  }
}

@keyframes floatImage {
  0%, 100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  }
  25% {
    transform: translateX(-50%) translateY(5px) scale(1.02) rotate(1deg);
  }
  50% {
    transform: translateX(-50%) translateY(15px) scale(0.98) rotate(-1deg);
  }
  75% {
    transform: translateX(-50%) translateY(8px) scale(1.01) rotate(0.5deg);
  }
}

@keyframes spinGlow {
  0% { transform: translateX(-50%) translateY(10px) rotate(0deg); }
  100% { transform: translateX(-50%) translateY(10px) rotate(360deg); }
}

@keyframes textPulse {
  0%, 100% {
    text-shadow: 0 0 5px rgba(233, 0, 221, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(233, 0, 221, 0.8), 0 0 30px rgba(233, 0, 221, 0.4);
  }
}

/* Versiones alternativas CIRCULARES */
.efecto--hover--imagenes.imagen-grande::after {
  width: 220px;
  height: 220px;
  border-radius: 50%;
}

.efecto--hover--imagenes.imagen-grande::before {
  width: 240px;
  height: 240px;
  border-radius: 50%;
}

/* Responsive - Tablets */
@media (max-width: 768px) {
  .efecto--hover--imagenes::after {
    width: 150px;
    height: 150px;
  }
  
  .efecto--hover--imagenes::before {
    width: 170px;
    height: 170px;
  }
  
  .efecto--hover--imagenes.imagen-grande::after {
    width: 180px;
    height: 180px;
  }
  
  .efecto--hover--imagenes.imagen-grande::before {
    width: 200px;
    height: 200px;
  }
}

/* Responsive - Móviles */
@media (max-width: 480px) {
  .efecto--hover--imagenes::after {
    width: 120px;
    height: 120px;
  }
  
  .efecto--hover--imagenes::before {
    width: 140px;
    height: 140px;
  }
  
  /* En móviles, cambiar hover por tap */
  .efecto--hover--imagenes:active::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards;
  }
  
  .efecto--hover--imagenes:active::before {
    opacity: 0.6;
    visibility: visible;
    animation: spinGlow 2s linear infinite;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-166d168 *//* Span con efecto hover */
.efecto--hover--imagenes7 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes7:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes7::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/Curated-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes7:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}

/* Brillo giratorio alrededor de la imagen circular */
.efecto--hover--imagenes7::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 200px;
  height: 200px;
  background: conic-gradient(from 0deg, transparent, #e900dd, transparent, #ff00e6, transparent);
  border-radius: 50%; /* ← TAMBIÉN CIRCULAR */
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease;
  z-index: 999;
  pointer-events: none;
}

.efecto--hover--imagenes7:hover::before {
  opacity: 0.6;
  visibility: visible;
  animation: spinGlow 2s linear infinite;
}



/*Imgen circulo 8*/



/* Span con efecto hover */
.efecto--hover--imagenes8 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes8:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes8::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/Drone-light-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes8:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 8 Fin */

/*Imgen circulo 15*/



/* Span con efecto hover */
.efecto--hover--imagenes15 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  color: inherit;
  text-decoration: none;

  padding: 4px 8px;
  border-radius: 6px;
}

/* Efecto hover en el texto con bounce */
.efecto--hover--imagenes15:hover {
  color: #fff;
 
  transform: translateY(-3px) scale(1.05);
  background: linear-gradient(135deg, rgba(233, 0, 221, 0.1), rgba(233, 0, 221, 0.05));
  box-shadow: 0 8px 25px rgba(233, 0, 221, 0.3);
  animation: textPulse 2s ease-in-out infinite;
}

/* IMAGEN CIRCULAR con animación bounce divertida */
.efecto--hover--imagenes15::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
  width: 100px;
  height: 100px;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/shows-displaying-scaled.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%; /* ← AQUÍ ES DONDE SE HACE CIRCULAR */
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.4),
    0 0 0 8px rgba(255, 255, 255, 0.8),
    0 0 0 12px rgba(233, 0, 221, 0.3),
    0 0 30px rgba(233, 0, 221, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  z-index: 9999;
  pointer-events: none;
  filter: brightness(1.1) contrast(1.1);
}

/* Animación de aparición con bounce y rotación */
.efecto--hover--imagenes15:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards,
             floatImage 3s ease-in-out 0.8s infinite;
}



/*Imgen circulo 15 Fin */


/* ANIMACIONES */
@keyframes bounceIn {
  0% {
    transform: translateX(-50%) translateY(20px) scale(0) rotate(-180deg);
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) translateY(5px) scale(1.1) rotate(-10deg);
    opacity: 0.8;
  }
  75% {
    transform: translateX(-50%) translateY(15px) scale(0.95) rotate(5deg);
    opacity: 0.9;
  }
  100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    opacity: 1;
  }
}

@keyframes floatImage {
  0%, 100% {
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
  }
  25% {
    transform: translateX(-50%) translateY(5px) scale(1.02) rotate(1deg);
  }
  50% {
    transform: translateX(-50%) translateY(15px) scale(0.98) rotate(-1deg);
  }
  75% {
    transform: translateX(-50%) translateY(8px) scale(1.01) rotate(0.5deg);
  }
}

@keyframes spinGlow {
  0% { transform: translateX(-50%) translateY(10px) rotate(0deg); }
  100% { transform: translateX(-50%) translateY(10px) rotate(360deg); }
}

@keyframes textPulse {
  0%, 100% {
    text-shadow: 0 0 5px rgba(233, 0, 221, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(233, 0, 221, 0.8), 0 0 30px rgba(233, 0, 221, 0.4);
  }
}

/* Versiones alternativas CIRCULARES */
.efecto--hover--imagenes.imagen-grande::after {
  width: 220px;
  height: 220px;
  border-radius: 50%;
}

.efecto--hover--imagenes.imagen-grande::before {
  width: 240px;
  height: 240px;
  border-radius: 50%;
}

/* Responsive - Tablets */
@media (max-width: 768px) {
  .efecto--hover--imagenes::after {
    width: 150px;
    height: 150px;
  }
  
  .efecto--hover--imagenes::before {
    width: 170px;
    height: 170px;
  }
  
  .efecto--hover--imagenes.imagen-grande::after {
    width: 180px;
    height: 180px;
  }
  
  .efecto--hover--imagenes.imagen-grande::before {
    width: 200px;
    height: 200px;
  }
}

/* Responsive - Móviles */
@media (max-width: 480px) {
  .efecto--hover--imagenes::after {
    width: 120px;
    height: 120px;
  }
  
  .efecto--hover--imagenes::before {
    width: 140px;
    height: 140px;
  }
  
  /* En móviles, cambiar hover por tap */
  .efecto--hover--imagenes:active::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(10px) scale(1) rotate(0deg);
    animation: bounceIn 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards;
  }
  
  .efecto--hover--imagenes:active::before {
    opacity: 0.6;
    visibility: visible;
    animation: spinGlow 2s linear infinite;
  }
}/* End custom CSS */
/* Start custom CSS */.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.cursor-inner {
  width: 80px;
  height: 80px;
 background-image: url("https://webmaster.cristch-x.com/wp-content/uploads/2025/07/Altar-de-ceremonia-Boda-scaled.jpg");

  color: #fff;
  mix-blend-mode: screen;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 12px;
  text-align: center;
  line-height: 1;
  transition: all 0.3s ease;
}


/* Cuando está sobre un enlace */
.custom-cursor.active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.custom-cursor.active .cursor-inner {
  background: #000;
  color: #fff;
  transform: scale(1.1);
  mix-blend-mode: difference;
}


* {
  box-sizing: border-box;
}

body, html {
  overflow-x: hidden;
  width: 100%;
}

.hover--logo--empresa {
  cursor: none; /* Oculta el cursor normal */
  position: relative;
  z-index: 1;
}

/* Imagen flotante circular que sigue el cursor */
#cursor-image {
  position: fixed;
  top: 0;
  left: 0;
  width: 80px;
  height: 50px;
  pointer-events: none;
  background-image: url('https://webmaster.cristch-x.com/wp-content/uploads/2025/07/logo-hover-2.png');
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  z-index: 9999;

  transition: opacity 0.3s ease, transform 0.2s ease;
}/* End custom CSS */