/* ===========================================================
   0. RESET Y ESTILOS BASE (globales)
   (aparece en <head> y es lo primero que debe cargarse)
=========================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html{font-size: 16px; /* Tamaño base de la fuente */
  scroll-behavior: smooth; height:100%; width:100%; overflow-x: hidden;}

/* ===========================================================
   1. CONTENEDORES PRINCIPALES
   .main-contenedor y .contenedor-web (envoltorio general)
   (estos contenedores envuelven toda la web y aparecen al inicio del body)
=========================================================== */
/* CONTENEDORES PRINCIPALES*/ 
/* Contenedor principal que enmarca toda la web*/
.main-contenedor { position: relative; width:100%; height: 100%; z-index: 0;}

/* Contenedor web principal que engloba la web encima del fondo con secciones que se posiciona encima del fondo*/
.contenedor-web { position: relative; width:100%; height: 100%; z-index:1; padding-left: 80px;}/* espacio que ocupa el menú para que el efecto visual sea centrado*/


/* ===========================================================
   2. MENÚ (aparece como primer elemento dentro del body: <nav class="menu">)
   - estilos para .menu, logo, hamburger, social, menu-panel, overlay
=========================================================== */

/* =======================================================
MENÚ
========================================================*/

/* Columna lateral siempre fija */
  .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 80px;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 20px 0;
    background-color: #3a3b39;
    z-index: 1000;
  }

  .menu .logo {
    width: 40px;
    height: auto;
    margin-bottom: 20px;
    cursor: pointer;
  }

/* Menú Hamburguer */
  .hamburger {
    width: 40px;
    height: 20px;
    position: relative;
    cursor: pointer;
    margin-bottom: 20px;
  }
  .hamburger span {
    position: absolute;
    width: 100%;
    height: 3px;
    background: #fff;
    left: 0;
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  .hamburger span:nth-child(1) { top: 0; }
  .hamburger span:nth-child(2) { top: 8px; }
  .hamburger span:nth-child(3) { top: 16px; }
  
  .hamburger.active span:nth-child(1) { transform: rotate(45deg); top: 8px; }
  .hamburger.active span:nth-child(2) { opacity: 0; }
  .hamburger.active span:nth-child(3) { transform: rotate(-45deg); top: 8px; }

/* Redes sociales y contacto */
  .menu .social {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 40px;
  }
  .menu .social a img {
    cursor: pointer;
  }
  .menu .social a.sobre {/* aqui se aplica lo mismo que social y a pero determinando aspectos concretos para el elemento con la clase sobre en el html */
    margin-top: 15px;
  }
  .menu .social a img:hover {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}

/* Zona oculta desplegable del menú */
.menu-panel {
    position: fixed;
    top: 0;
    left: 80px; /* al lado de la columna lateral */
    width: 0; /* cerrado inicialmente */
    height: 100vh;
    background-color: #e198b7;
    opacity: 0.9;
    overflow: hidden;
    transition: width 0.4s ease;
    z-index: 900;

}

/* Contenedor interno para el contenido del menú */
.menu-panel .menu-botonera {
    padding-left: 30px;
    padding-top: 50px;
    opacity: 0;
    transition: opacity 0.3s ease;
    white-space: nowrap;  /* evita saltos de línea */
}

/* Cuando el menú se ha desplegado */
.menu-panel.expanded {
    width: 25%;/* anchura de la pantalla que ocupa */
}
.menu-panel.expanded .menu-botonera {
    opacity: 1;
}

/* botones del menú */
  .menu-panel a {
    display: block;
    color: #3a3b39;
    text-decoration: none;
    margin: 10px 0;/* margen entre botones */
    transition: color 0.2s;
    font-size: 2rem;
    font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  }
  .menu-panel a.telefono {font-size: 1.6rem; font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;}
  .menu-panel a.idioma {
    font-size: 1.5rem;
    font-family: "Outfit", sans-serif;
    font-weight: 600;
  }
  .menu-panel .menu-legal {
    display: flex;
    flex-direction: column;  
 
    align-items: flex-start; 
  }
  .menu-panel .menu-legal a {  font-size: 1rem;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  text-decoration: none;  /* opcional */
  white-space: nowrap;    /* evita saltos de línea */
  margin: 0;
  padding: 0;
  line-height: 1.5;}
  
  .menu-panel a:hover {
    color: white;
  }
/* Línea separadora */
  .menu-separador {
  height: 2px;
  background-color: #3a3b39;
  margin: 30px 0; /* espacio arriba y abajo */
  width: 50%;
  }

/* Overlay para cerrar menú */
  .overlay {
    display: none;
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:800; /* el menú tiene 1000, el desplegable del menú 900 y esta capa queda debajo con 800 */
  }
  .overlay.active { display: block; }

@media (max-width: 900px) { 
  .menu-panel.expanded {
    width: 60%;/* anchura de la pantalla que ocupa */
}
}


/* ===========================================================
   3. CABECERA CON RUIDO (aparece después del menú en HTML)
   .cabecera_ruido
=========================================================== */

/* =======================================================
CABECERA
========================================================*/
  
/* Cabecera 100% ancho con ruido */
  .cabecera_ruido {
    width:100%;
    height:475px;
    overflow:hidden;
    background-color:#3a3b39;/* color de fondo del ruido */
    position: relative;
  }

/* Logo encima del ruido */
  .cabecera_ruido .logo {
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    width:400px;
    height:auto;
  }
  /* Responsive */
  @media (max-width:900px) { .cabecera_ruido .logo { width:70%; } }


/* ===========================================================
   4. SECCIÓN INICIO (seccion_inicio_full)
   (este bloque contiene col-izq y col-der con el canvas esfera3D)
   aparece en tu HTML como la sección principal "INICIO"
=========================================================== */

/* Contenedor principal de la sección */
.seccion_inicio_full {
  display: flex;
  flex-wrap: wrap; /* permite que columnas bajen en mobile */
  width: 100%;
  height: auto;
    overflow-x: hidden; /* evita scroll horizontal */
  box-sizing: border-box;
  margin-top: 50px;
  margin-bottom: 45px;


}

/* Columnas 50% por defecto */
.col-izq, .col-der {
  flex: 1 1 50%; /* crecen, se encogen, base 50% */
  display: flex;
  flex-direction: column;
}

/* Columna izquierda */
.col-izq {
    width: 50%;
  justify-content: center;
  align-items: flex-end; /* contenedor-izq alineado a la derecha */

}

/* Contenedor hijo izquierdo */
.contenedor-izq {
  max-width: 600px;
  width: 100%; 

  box-sizing: border-box;
  padding: 100px 0 0 25px;
}
.contenedor-izq h1{
    color: #3a3b39;
    font-size: 4rem;
    line-height: 3rem;
     font-family: "Outfit", sans-serif;
     font-weight: 500;

}
.contenedor-izq .subtitulo_1{
    color: #3a3b39;
    font-size: 6rem;
    line-height: 3rem;
     font-family: "Outfit", sans-serif;
     font-weight: 700;
}
.contenedor-izq .subtitulo_2{
    color: #3a3b39;
    font-size: 2.5rem;
    line-height: 2rem;
     font-family: "Outfit", sans-serif;
     font-weight: 300;
}
.contenedor-izq p{
    color: #3a3b39;
font-size: 1rem;
font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
}
p .destacado{font-size: 1.5rem; font-weight: 600;}
p .bold{font-size: 1rem; font-weight: 600;}



/* Columna derecha */
.col-der {
    width: 50%;
  display: flex;
  align-items: flex-start; /* alineación arriba */
  justify-content: center; /* alineación izquierda */

  position: relative;

}


@media (max-width: 900px) {
  .col-izq,
  .col-der {
    flex: 1 1 100%;
  }

  .contenedor-izq {
    max-width: 100%;
    text-align: center;
    padding: 50px 25px 0 25px;
  }
.col-der {
  
  align-items: center;

}
}

@media (max-width: 500px) {
.contenedor-izq h1{
    font-size: 2.6rem;
     line-height: 2.25rem;
}
.contenedor-izq .subtitulo_1{
    font-size: 5rem;
    line-height: 2rem;
}
.contenedor-izq .subtitulo_2{
    font-size: 2.25rem;
    line-height: 1.25rem;
}
}




/* ===========================================================
   5. INTERLUDIO SUPERIOR (onda SVG entre inicio y hero)
   (.interludio-superior, .onda-radio)
   aparece después de seccion_inicio_full en el HTML
=========================================================== */

 .interludio-superior {
  position: relative;
  width: 100%;
}

.interludio-superior .color-rosa {
  width: 50%;
  height: 100px;
  background-color: #e198b7;
  opacity: 0.85;
}

.onda-radio {
  position: relative;
  width: 100%;
  padding-top: 10%; /* proporción para SVG */
  overflow: hidden;
  margin-top: 50px;
  margin-bottom: 50px;
}

.onda-radio svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.onda-radio path {
  stroke: #e198b7;
  stroke-width: 3;
  fill: none;
}

/* Media queries opcionales para ajustar proporción */
@media (max-width: 900px) {
  .onda-radio {
    padding-top: 15%; /* más altura para móvil */
  }
  .onda-radio path {
    stroke-width: 4.5; /* línea un poco más gruesa */
  }
}

/* ===========================================================
   6. HERO (section.hero) - aparece después del interludio
=========================================================== */

   .hero {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #3a3b39;
    cursor: pointer;
    overflow: hidden;
    padding-top: 50px;

  }

  .scramble {
    color: white;
    font-weight: bold;
    white-space: nowrap;
    text-align: center;
    user-select: none;
    display: inline-block;
    line-height: 1;
        font-size: 1.6rem; font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  }

  .dud {
    opacity: 0.5;
  }

.titulo-servicios-hidden {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ===========================================================
   7. SECCIÓN PRINCIPAL DE SERVICIOS (aparece después del hero)
   - .seccion, .contenedor-servicios1, .servicios-inner, .col-serv, etc.
=========================================================== */

  /* =======================================================
     SECCIÓN PRINCIPAL
  ========================================================*/
.seccion {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column; /* <-- apila verticalmente */
  align-items: center;    /* centra horizontalmente cada bloque */
  z-index: 2;
}

  /* Contenedor de 100% ancho con relleno lateral negro */
  .seccion-inner {
    display: flex;
    width: 100%;

  }

  .lado-izq, .lado-der {
    flex: 1;
    background-color: #3a3b39;
  }

/* Contenedor externo de cada bloque */
.contenedor-servicios1,
.contenedor-servicios2 {
  width: 100%;
  display: flex;
  justify-content: center;
  background-color: #3a3b39;
}
.contenedor-servicios1{padding-top: 50px;
}

.contenedor-servicios2{padding-bottom: 50px;}


/* Contenedor interno máximo 1200px */
.servicios-inner {
  width: 100%;
  max-width: 1200px;
  display: flex;
  gap: 200px;
}

/* Columnas */
.col-serv{
  flex: 1;
  padding:40px 25px 40px 25px;
  text-align: justify;
    color: white;
font-size: 1rem;
font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;

}
.col-serv .titulo-servicio{font-size: 3.8rem; line-height: 3rem;
  font-weight: 400;
display: inline-block; /* necesario para que el margin funcione en un span */
  margin-bottom: 25px;   /* <-- separa el título del texto */
color: #e198b7;
  text-align: center; /* <- centramos solo el título */
  width: 100%;        /* <- para que el centrado funcione */}




/* Responsive */
@media (max-width: 1400px) {
  .servicios-inner {
    gap: 20px;
  }
}
@media (max-width: 900px) {
  .servicios-inner {
    flex-direction: column;
    gap: 0px;
  }
  
}
@media (max-width: 500px) {
  .col-serv .titulo-servicio{font-size: 2.5rem; line-height: 2rem;
}
}

/* ===========================================================
   8. CONTENEDOR CIRCULO/TROQUEL (contenedor-circulotroquel)
   (este bloque está dentro de la sección principal)
=========================================================== */

  /* Contenedor central de máximo 1200px */
  .contenedor-circulotroquel {
    width: 100%;
    max-width: 1200px;
    min-height: 225px;
    background-color: rgba(225,152,183,0.5); /* rosa semi */
    display: flex;
  }

  /* Columnas internas dentro del contenedor rosa */
  .col-left, .col-right {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #e198b7;
    font-size: rem;
    text-align: justify;
    background-color: #3a3b39;

  }

 
  .col-center {
    width: 200px;
    background-color: #3a3b39;
    display: flex;
    justify-content: center;
    align-items: center;

    /* Máscara circular (troquel) */
    -webkit-mask-image: radial-gradient(circle 100px at center, transparent 0, transparent 100px, #3a3b39 101px);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: cover;

    mask-image: radial-gradient(circle 100px at center, transparent 0, transparent 100px, #3a3b39 101px);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
  }

/* Responsive del bloque .seccion (nota: esto afecta a seccion-inner y columnas internas) */
    /* =======================================================
     RESPONSIVE
  ========================================================*/
  @media (max-width: 900px) {
    .seccion-inner {
      flex-direction: column;
    }
    .lado-izq, .lado-der {
      height: 0; /* desaparecen lateralmente */
    }
    .contenedor-circulotroquel {
      flex-direction: column;
      width: 100%;
    }
    .col-left, .col-center, .col-right {
      width: 100%;
      height: 50px;
    }
  }


/* ===========================================================
   9. SLIDER CLIENTES (section .clientes-scroll con Swiper)
   (aparece después de la sección principal en el HTML)
=========================================================== */

/* Contenedor principal del slider */


.clientes-scroll {
  width: 100%;
  position: relative;
  overflow: hidden;       /* evita scroll horizontal del slider */
margin-top: 100px;
margin-bottom: 100px;
  box-sizing: border-box;
  background-color: white;
}

/* Contenedor Swiper */
.swiper-container {
  width: 100%;
}

/* Wrapper de Swiper */
.swiper-wrapper {
  display: flex;
}

/* Slides */
.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0; /* evita que se encojan y provoquen overflow */
}

/* Imágenes */
.swiper-slide img {
  height: 200px;
  width: auto;
  object-fit: contain;
}

/* Responsive */

@media (max-width: 689px) {
  .swiper-slide img {
    height: 225px;
  }
}

/* ===========================================================
   10. SECCIÓN 'MANOS' (seccion_inicio) que aparece más abajo en el HTML
   - .seccion_inicio, .columna_rosa, .ondas, .imagen_superior, contenido_superior...
=========================================================== */

/* Sección centrada máximo 1200px */

.seccion_inicio {
    height: auto; /* deja que el contenido decida la altura */
    aspect-ratio: 2000/2580; /* mantiene proporción de la imagen */
    position: relative;
    overflow: hidden;
    max-width: 1200px;
    margin: 0 auto;
    border-left: 5px solid #e198b7;
    border-right: 5px solid #e198b7;
    box-sizing: border-box;
}

/* Capa inferior: columna rosa */
.columna_rosa {
    position: absolute;
    bottom: 0;              /* pegada al borde inferior */
    left: 50%;              /* centrada horizontalmente */
    width: 35%;             /* ancho de la columna */
    height: 70%;            /* altura desde abajo hasta la mitad del contenedor */
    background-color: #e198b7;
    opacity: 0.85;
    transform: translateX(-50%); /* centra horizontalmente */
    z-index: 0;
}


/* Capa superior: imagen */
.imagen_superior {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.imagen_superior img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* la imagen completa se ve */
}


/* Capa intermedia: ondas */
.ondas {
    position: absolute;
    top: 21%; /* ajusta este valor según el punto de la imagen */
    left: 50%; /* centra horizontalmente si quieres */
    transform: translateX(-50%); /* centra horizontalmente */
    width: 100%;  /* ancho de la onda */
    z-index: 1;
    pointer-events: none;
}

.circle {
    display: inline-block;
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    vertical-align: middle;

    /* Prefijo WebKit */
    -webkit-mask-image: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 20%, transparent 55%, transparent 100%);

    /* Propiedad estándar para otros navegadores */
    mask-image: radial-gradient(ellipse at center, rgba(0,0,0,1) 20%, transparent 55%, transparent 100%);
    mask-repeat: no-repeat;
    mask-size: cover;
}

.circle svg {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}
.ondas svg circle {
    stroke: #3a3b39;  /* color negro de la web */
     stroke-width: 1px;   /* grosor del trazo */
}

/* Contenedor del contenido sobre la imagen */
.contenido_superior {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* separa arriba y abajo */
    pointer-events: none; /* si quieres que no interfiera con la imagen */
    padding: 20px; /* margen interno general, se puede ajustar */
}
/* Parte superior */
.contenido_arriba {
    display: flex;
    flex-direction: column;
    pointer-events: auto; /* para que el botón sea clicable */
    padding-top:25px
}

/* Estilos básicos para H3, botón y enlaces */
.contenido_arriba h3 {
 color: #3a3b39;
    font-size: 4rem;
     font-family: "Outfit", sans-serif;
     font-weight: 500;
     text-align: center;
}

.contenido_arriba .telefono {
   width: 100%;
   text-align: center;
   transition: all 0.3s ease;
}
.contenido_arriba .telefono a {
    color: #3a3b39;
    font-size: 1.6rem;
     font-family: "Outfit", sans-serif;
     font-weight: 300;
     text-decoration: none;
}
.contenido_arriba .telefono a:hover {
    color: #e198b7;

}

.contenido_arriba button {

  
    padding: 10px 20px;
    background-color: #e198b7;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}
/* Caja inferior con enlaces legales y créditos */
.contenido_abajo {
    display: flex;
    flex-direction: column; /* Coloca todo vertical */
    align-items: center;    /* Centra horizontalmente */
    pointer-events: auto;
    padding-bottom: 5px;
    text-align: center;
}

/* Enlaces Legal / Privacidad / Cookies */
.enlaces_legales {
    display: flex;
    gap: 10px;
}

.enlaces_legales a {
    text-decoration: none;
    font-size: 0.9rem;
    color: #3a3b39;
    font-family: "Outfit", sans-serif;
    font-weight: 300;
    transition: all 0.3s ease;
}

.enlaces_legales a:hover {
    color: white;
}

/* Texto legal */
.texto_legal {
    margin-top: 15px;
    font-size: 0.6rem;
    font-family: "Outfit", sans-serif;
    color: #3a3b39;
}

/* Crédito de diseño Javi Casilla */
.credito_diseno {
    margin-top: 12px;
}

.credito_diseno a {
    text-decoration: none;
    font-size: 0.7rem;
    font-family: "Outfit", sans-serif;
    color: #3a3b39;
    transition: all 0.3s ease;
}

.credito_diseno a:hover {
    color: white;
}

.logokit{
  max-width: 450px;
  width: 35%;
  text-align: center;
  margin: 0 auto;
}
.logokit img{
  margin-top: 50px;
  margin-bottom: 50px;
  width: 80%;
}

/* ===========================================================
   11. BOTONES Y BOTON WRAPPER (aparecen dentro del bloque inicio y en otras partes)
   Mantengo todas las declaraciones exactamente como en tu CSS original
=========================================================== */

/* Contenedor del botón */
.boton_wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
padding-bottom: 25px;
transition: all 0.3s ease;

}

/* Botón */
.boton_servicios {
  position: relative;
  color: #3a3b39;
  height: 60px;
  width: 100%; /* ocupa todo el contenedor */
  line-height: 60px;
  text-align: center;
  font-family: "Outfit", sans-serif;
    font-weight: 300;
  font-size: 1.25rem;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  z-index: 2;
  margin-top: 60px;
  
  transition: all 0.8s ease;
  box-sizing: border-box;
    /* Solución: mantener padding siempre igual */
  padding-left: 10px;
  padding-right: 10px;
    /* con esta transicion el color de fondo que aparece en el boton no parpadea al poner el ratón o quitarlo sobre el */
  transition: color 0.3s ease;
}

/* Pseudo-elementos para bordes */
.boton_servicios::before,
.boton_servicios::after {
  content: '';
  position: absolute;
  z-index: 1;
  transition: transform 1s;
  box-sizing: border-box;
}

/* Bordes verticales desplazados hacia dentro */
.boton_servicios::before {
  top: -15px;
  left: 10px;           /* desplazamiento desde el borde izquierdo */
  right: 10px;          /* desplazamiento desde el borde derecho */
  height: 91px;
  border-left: 2px solid #3a3b39;
  border-right: 2px solid #3a3b39;
}

/* Bordes horizontales ocupando todo el ancho */
.boton_servicios::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  border-top: 2px solid #3a3b39;
  border-bottom: 2px solid #3a3b39;
}

/* Animación hover */
.boton_servicios:hover::before {
  transform: rotateX(180deg);
}

.boton_servicios:hover::after {
  transform: rotateY(180deg);
}

.boton_servicios:hover {
  background: #e198b7;
  opacity: 0.95;
  background-clip: content-box;

}

/* Pseudo-elementos para bordes (segunda aparición en tu CSS original: la mantengo) */
.boton_servicios::before,
.boton_servicios::after {
  content: '';
  position: absolute;
  z-index: 1;
  transition: transform 1s;
  box-sizing: border-box;
  
  /* Evitar que interfieran con el hover */
  pointer-events: none;
}

/* Animación hover (repetida en el original: la mantengo) */
.boton_servicios:hover::before {
  transform: rotateX(180deg);
}

.boton_servicios:hover::after {
  transform: rotateY(180deg);
}

/* Hover del botón (solo zona interna) */
.boton_servicios:hover {
  background: rgba(225,152,183,0.8);
  background-clip: content-box;
}

/* ===========================================================
   12. MAPA / FOOTER (en tu HTML aparece el footer con .map-container y #map)
=========================================================== */

/* Contenedor que recorta el mapa */
.map-container {
    height: 400px;        /* altura visible real */
    overflow: hidden;     /* recorta lo que sobresalga */
    position: relative;
    margin-top: -20px;
}

/* Mapa desplazado hacia abajo 20px */
#map {
    width: 100%;
    height: 500px;
    position: relative;
    top: 20px;           /* desplaza el mapa 20px hacia arriba */
}
.leaflet-tile-pane img {
    filter: grayscale(100%);
}

/* ===========================================================
   13. RESPONSIVE / MEDIA QUERIES
=========================================================== */

@media (max-width: 900px) { .cabecera_ruido .logo { width:70%; } }

@media (max-width: 1400px) {
  .servicios-inner {
    gap: 20px;
  }
}
@media (max-width: 900px) {
  .servicios-inner {
    flex-direction: column;
    gap: 0px;
  }
}

/* Responsive del bloque .seccion */
@media (max-width: 900px) {
    .seccion-inner {
      flex-direction: column;
    }
    .lado-izq, .lado-der {
      height: 0; /* desaparecen lateralmente */
    }
    .contenedor-circulotroquel {
      flex-direction: column;
      width: 100%;
    }
    .col-left, .col-center, .col-right {
      width: 100%;
      min-height: 200px;
    }
 }

/* Media queries para onda */
@media (max-width: 900px) {
  .onda-radio {
    padding-top: 15%; /* más altura para móvil */
  }
  .onda-radio path {
    stroke-width: 4.5; /* línea un poco más gruesa */
  }
}

/* Media queries del swiper */
@media (max-width: 689px) {
  .swiper-slide img {
    height: 225px;
  }
}

/* Media queries para la sección manos / imagen superior */
@media (max-width: 900px) {
  .columna_rosa {
    width: 100%;             /* ancho de la columna */
    height: 100%;        
}
.contenido_arriba h3 {
    font-size: 3.25rem;
}

 .seccion_inicio {
    height: 800px; /* deja que el contenido decida la altura */
    max-width: 100%;
 
}

.ondas svg circle {
     stroke-width: 1.5px;   /* grosor del trazo */
}
}

@media (max-width: 700px) {
  .seccion_inicio {
    border-left: 0px solid #e198b7;
    border-right: 0px solid #e198b7;

}
}


@media (max-width: 660px) {  .ondas {

    top: 24%; /* ajusta este valor según el punto de la imagen */
}
}
@media (max-width: 600px) {  .ondas {

    top: 28%; /* ajusta este valor según el punto de la imagen */
}
}
@media (max-width: 500px) {
  .contenido_arriba {
    padding-top:60px
}
  .ondas {

    top: 43%; /* ajusta este valor según el punto de la imagen */
}
.ondas svg circle {
     stroke-width: 2px;   /* grosor del trazo */
}
.imagen_superior img {
margin-top: 100px;
}
.contenido_arriba .telefono a:hover {
    color: white;

}
.contenido_arriba h3 {
    font-size: 2.6rem;
}
.boton_servicios {

  font-size: 1rem;
}
.logokit{
  width: 80%;
  text-align: center;
  margin: 0 auto;
}
}
@media (max-width: 460px) {
    .ondas {

    top: 47.5%; /* ajusta este valor según el punto de la imagen */
}

}



/* estilo botón volver arriba */
#back-to-top {
    position: fixed !important;
    bottom: 40px !important;
    left: 10px !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    background-color: white !important;
    background-image: url('../img/flecha.svg'); /* aquí va tu imagen */
    background-size: 50% 50%; /* ajusta tamaño */
    background-repeat: no-repeat;
    background-position: center;
    color: transparent !important; /* ocultamos el texto si lo hubiera */
    cursor: pointer !important;
    z-index: 1000 !important;
    opacity: 0 !important;
    transition: 
        opacity 0.4s ease, 
        transform 0.4s ease, 
        background-color 0.6s ease !important;
}

#back-to-top.show {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

#back-to-top:hover {
    background-color: #e198b7 !important;
}

