/* ============================================
   SEPARADORES DE ONDAS SVG PARA SECCIONES
   ============================================ */

.wave-separator {
  display: block;
  width: 100%;
  height: 60px;
  max-height: 60px;
  margin: 0;
  z-index: 1;
  position: relative;
  left: 0;
  overflow: hidden;
  pointer-events: none;
}

.wave-separator svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Separador antes de banners (ondas hacia arriba) */
.wave-separator-top {
  margin-bottom: 0;
  margin-top: 0;
}

/* Separador después de banners (ondas hacia abajo) - juntos con el de arriba */
.wave-separator-bottom {
  margin-top: -1px;
  margin-bottom: 0;
  transform: rotate(180deg);
}

/* Contenedor del banner con separadores juntos y título superpuesto */
.baner {
  position: relative;
  overflow: visible;
  background: transparent;
  padding: 0;
  margin: 40px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
}

/* Los separadores están juntos, uno encima del otro, posicionados absolutamente */
.baner .wave-separator-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0;
}

.baner .wave-separator-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0;
}

/* El contenido del banner (título) está superpuesto sobre los separadores */
.baner-content {
  position: relative;
  z-index: 10;
  background: transparent;
  padding: 30px 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Asegurar que el contenido del banner no tenga fondo que corte las ondas */
.baner-content h2 {
  background: transparent;
  -webkit-background-clip: unset;
  background-clip: unset;
  position: relative;
  z-index: 10;
}

/* Animaciones de las ondas */
.parallax1 > use {
  animation: move-forever1 10s linear infinite;
}

.parallax1 > use:nth-child(1) {
  animation-delay: -2s;
}

.parallax2 > use {
  animation: move-forever2 8s linear infinite;
}

.parallax2 > use:nth-child(1) {
  animation-delay: -2s;
}

.parallax3 > use {
  animation: move-forever3 6s linear infinite;
}

.parallax3 > use:nth-child(1) {
  animation-delay: -2s;
}

.parallax4 > use {
  animation: move-forever4 4s linear infinite;
}

.parallax4 > use:nth-child(1) {
  animation-delay: -2s;
}

@keyframes move-forever1 {
  0% {
    transform: translate(85px, 0%);
  }
  100% {
    transform: translate(-90px, 0%);
  }
}

@keyframes move-forever2 {
  0% {
    transform: translate(-90px, 0%);
  }
  100% {
    transform: translate(85px, 0%);
  }
}

@keyframes move-forever3 {
  0% {
    transform: translate(85px, 0%);
  }
  100% {
    transform: translate(-90px, 0%);
  }
}

@keyframes move-forever4 {
  0% {
    transform: translate(-90px, 0%);
  }
  100% {
    transform: translate(85px, 0%);
  }
}

/* Ajustes para móviles */
@media (max-width: 768px) {
  .wave-separator {
    height: 40px;
    max-height: 40px;
  }
}

/* Reducir animación si el usuario prefiere menos movimiento */
@media (prefers-reduced-motion: reduce) {
  .parallax1 > use,
  .parallax2 > use,
  .parallax3 > use,
  .parallax4 > use {
    animation: none;
  }
}

