:root {
    --principal: #f86254;
    font-size: 1rem;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px; /* Ajusta según la altura de tu navbar */
    scroll-snap-type: y proximity;
  }

  /* Asegura que el header sticky tenga un z-index mayor que el mapa */
  header {
    z-index: 1000;
  }
  
  /* Añade margen superior al contenedor del mapa */
  #metodologia {
    position: relative;
    z-index: 1;
  }

  
  #map {
    margin-top: 20px;
    z-index: 0;
  }
  
  /* Transición más lenta */
@media (prefers-reduced-motion: no-preference) {
    html {
      scroll-behavior: smooth;
      scroll-timeline: smooth;
    }
}


.logo{
    width: 10%;
    height: 100%;
    object-fit: cover;
}

header nav a {
    margin:  0 1rem;
    font-size: 1.3rem;
}


/* CARRUSEL */
.heroSwiper {
    width: 100%;
    height: 100%;
  }

.swiper-button-next, 
.swiper-button-prev {
color: white;
background-color: rgba(255,255,255,0.2);
width: 50px;
height: 50px;
border-radius: 50%;
transition: all 0.3s ease;
}

.swiper-button-next:hover, 
.swiper-button-prev:hover {
background-color: rgba(255,255,255,0.3);
}

.swiper-button-next::after, 
.swiper-button-prev::after {
font-size: 1.5rem;
font-weight: bold;
}

.swiper-pagination-bullet {
background: white;
opacity: 0.5;
width: 12px;
height: 12px;
}

.swiper-pagination-bullet-active {
opacity: 1;
background: #f86254;
}

/* TEAM */

#equipo .group .detail{
  padding-left: 1.5rem;
  padding-top: 1rem;
}

/* TEAM SECTION - ESTILOS RESPONSIVOS */
#equipo .grid {
  gap: 1.5rem;
}

/* Estilos para desktop (hover effect) */
#equipo .group .team-info {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
}

#equipo .group:hover .team-info {
  max-height: 500px; /* Ajusta según el contenido */
}

/* Estilos para móviles y tablets - siempre visible */
@media (max-width: 1023px) {
  #equipo .group .team-info {
    max-height: none !important;
    overflow: visible;
  }
  
  #equipo .group {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  
  #equipo .relative.h-80 {
    height: 60vw; /* Altura relativa para móviles */
    max-height: 300px;
  }
}

/* Ajustes específicos para tablets */
@media (min-width: 768px) and (max-width: 1023px) {
  #equipo .grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  #equipo .relative.h-80 {
    height: 40vw;
  }
}

/* Ajustes específicos para móviles */
@media (max-width: 767px) {
  #equipo .grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  #equipo .relative.h-80 {
    height: 70vw;
  }
}

/* Efecto hover solo para desktop */
@media (hover: hover) and (pointer: fine) {
  #equipo .group:hover img {
    transform: scale(1.05);
  }
}



/* mapa */
#map { 
  background: #f8fafc;
  height: 500px; /* Altura fija para mantener proporción */
}
.leaflet-popup-content {
  font-family: 'Arial', sans-serif;
  padding: 8px;
}
.leaflet-popup-content b {
  color: #f86254;
}




/* Clientes */
.clientesSwiper {
  padding: 20px 10px;
  overflow: hidden;
}
.clientesSwiper .swiper-slide {
  height: auto;
  transition: transform 0.3s ease;
}
/* Efecto hover para desktop */
.clientesSwiper .swiper-slide:hover {
  transform: translateY(-5px);
}
/* Efecto activo para móviles */
.clientesSwiper .swiper-slide.active-slide {
  transform: translateY(-5px);
}
.clientesSwiper .swiper-slide.active-slide div {
  background: white;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.clientesSwiper .swiper-slide.active-slide img {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.05);
}
.clientesSwiper .swiper-slide.active-slide p {
  color: #0d3559;
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(13, 53, 89, 0.3);
  transition: all 0.3s ease;
}
.swiper-pagination-bullet-active {
  background: #f86254;
  transform: scale(1.2);
}
.swiper-pagination-bullet:hover {
  opacity: 1;
}

/* Asegurar que los efectos hover no interfieran en móviles */
@media (hover: hover) and (pointer: fine) {
  .clientesSwiper .swiper-slide:hover div {
    background: white;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }
  .clientesSwiper .swiper-slide:hover img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.05);
  }
  .clientesSwiper .swiper-slide:hover p {
    color: #0d3559;
  }
}


/* ESTILOS FORMULARIO DE CONTACTO */

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeOut {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-20px); }
}
.animate-fade-in { animation: fadeIn 0.3s ease-out; }
.animate-fade-out { animation: fadeOut 0.3s ease-in; }


