.elementor-20 .elementor-element.elementor-element-40a3b26{--display:flex;--min-height:0px;--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:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}@media(min-width:768px){.elementor-20 .elementor-element.elementor-element-40a3b26{--width:102.723%;}}/* Start custom CSS for html, class: .elementor-element-6c75ebb */.footer-creative {
  background:#050505;
  padding: 60px 20px;
  width: 100%;
  color: white;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
}

/* GRANULADO */
.footer-creative::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("https://grainy-gradients.vercel.app/noise.svg");
  opacity: 0.12;
  pointer-events: none;
}

/* CONTENEDOR PRINCIPAL */
.footer-inner {
  max-width: 1100px;
  margin: auto;
  text-align: center;
  position: relative;
  z-index: 5;
}

/* LOGO */
.footer-logo img {
  width: 140px;
  height: auto;
  margin-bottom: 20px;
  filter: drop-shadow(0 0 8px rgba(255,255,255,0.1));
  transition: .3s;
}

.footer-logo img:hover {
  transform: scale(1.05);
}

/* SLOGAN */
.footer-slogan {
  font-size: 14px;
  opacity: 0.75;
  margin-bottom: 25px;
  letter-spacing: 2px;
}

/* REDES */
.footer-social {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 30px;
}

.footer-social .sc {
  padding: 10px 13px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.15);
  font-size: 13px;
  color: white;
  transition: .3s;
}

.footer-social .sc:hover {
  background: white;
  color: black;
  transform: translateY(-3px) scale(1.1);
}

/* COPYRIGHT */
.footer-copy {
  font-size: 12px;
  opacity: 0.5;
}/* End custom CSS */
/* Start custom CSS *//* Contenedor de las burbujas */
.bubble-wrapper {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
}

/* Estilo de las burbujas */
.bubble {
    position: absolute;
    padding: 10px 18px;
    background: #f0caff; /* pastel rosado/lilac */
    color: #000;
    border-radius: 25px;
    font-size: 14px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    animation: float 6s ease-in-out infinite;
    white-space: nowrap;
}

/* Posiciones iniciales */
.bubble:nth-child(1) { top: 20px; left: 5%; animation-delay: 0s; }
.bubble:nth-child(2) { top: 80px; left: 20%; animation-delay: 1s; }
.bubble:nth-child(3) { top: 150px; left: 10%; animation-delay: 2s; }
.bubble:nth-child(4) { top: 40px; right: 12%; animation-delay: 0.5s; }
.bubble:nth-child(5) { top: 120px; right: 25%; animation-delay: 1.5s; }
.bubble:nth-child(6) { top: 200px; right: 5%; animation-delay: 2.5s; }

/* Animación suave tipo flotación */
@keyframes float {
    0%   { transform: translateY(0px); opacity: 0.8; }
    50%  { transform: translateY(-20px); opacity: 1; }
    100% { transform: translateY(0px); opacity: 0.8; }
}





/* CONTENEDOR */
.carousel-3d {
  perspective: 1000px;
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 50px 0;
}

/* ANILLO DONDE GIRAN LAS TARJETAS */
.ring {
  width: 300px;
  height: 300px;
  position: relative;
  transform-style: preserve-3d;
  animation: rotateRing 16s linear infinite;
}

/* TARJETAS */
.card3d {
  position: absolute;
  width: 200px;
  height: 120px;
  background: #000000;
  color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 15px 30px rgba(0,0,0,0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 18px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid rgba(255,255,255,0.1);
  transform-style: preserve-3d;
  transition: transform 0.4s ease;
}

/* HOVER: TARJETA CRECE Y BRILLA */
.card3d:hover {
  transform: scale(1.15);
  box-shadow: 0 20px 40px rgba(157, 0, 255, 0.6);
}

/* POSICIONES EN CÍRCULO */
.ring .card3d:nth-child(1) { transform: rotateY(0deg) translateZ(240px); }
.ring .card3d:nth-child(2) { transform: rotateY(60deg) translateZ(240px); }
.ring .card3d:nth-child(3) { transform: rotateY(120deg) translateZ(240px); }
.ring .card3d:nth-child(4) { transform: rotateY(180deg) translateZ(240px); }
.ring .card3d:nth-child(5) { transform: rotateY(240deg) translateZ(240px); }
.ring .card3d:nth-child(6) { transform: rotateY(300deg) translateZ(240px); }

/* ANIMACIÓN 3D DEL CARRUSEL */
@keyframes rotateRing {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(-360deg); }
}/* End custom CSS */