/* =========================
   ESTILOS GENERALES
   ========================= */

    
body {
  margin: 0;
  font-family: 'Istok Web', sans-serif;
  padding-top: 70px; /* altura del navbar */
}

/* =========================
   CONTENIDO PRINCIPAL
   ========================= */
.main-content {
  margin-top: 100px; /* espacio debajo del navbar fijo */
  text-align: center;
  color: #000; /* Texto en negro por defecto */
}

/* =========================
   SECCIÓN DE SERVICIOS
   ========================= */
section.contenido-servicios {
  padding: 80px 40px 40px 40px;
  background: #f9f9f9;
  text-align: center;
}

section.contenido-servicios h2 {
  color: #c0392b; /* Rojo institucional */
  font-weight: bold;
  text-shadow: none;
  font-size: 2.2rem; /* más grande que el normal */
  font-family: 'Poppins', sans-serif; /* fuente más redonda */
}

section.contenido-servicios p.descripcion {
  color: #000; /* Gris oscuro */
  font-size: 19px;
  line-height: 1.6;
  margin-top: 10px;
  font-family: 'Poppins', sans-serif; /* fuente más redonda */
}

/* =========================
   SECCIÓN DE SERVICIOS
   ========================= */
section.contenido-servicios {
  padding: 80px 40px 40px 40px;
  background: #f9f9f9;
  text-align: center;
}

.contenido-servicios {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  padding: 60px 5%;
  background: #f9f9f9;
  flex-wrap: wrap; /* Para móvil */
}

.servicios-layout {
  display: flex;
  gap: 40px;
  width: 100%;
  max-width: 1300px;
  justify-content: center;
  align-items: flex-start;
}

/* =========================
   CARRUSEL (Izquierda)
   ========================= */
.carousel-container {
  flex: 1;
  max-width: 600px;
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  background: #fff;
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.carousel-slide {
  min-width: 100%;
}

.carousel-image-container img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  display: block;
  border-radius: 15px;
}

/* Botones carrusel */
.carousel-prev-btn,
.carousel-next-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #c0392b;
  color: #fff;
  border: none;
  border-radius: 50%;
  padding: 10px;
  cursor: pointer;
  font-size: 22px;
  z-index: 2;
}

.carousel-prev-btn { left: 10px; }
.carousel-next-btn { right: 10px; }

/* =========================
   TARJETAS (Derecha)
   ========================= */
.cards-servicios {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}

.card {
  background: #cccccc;
  border-radius: 15px;
  padding: 25px 20px;
  text-align: ;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Animación de rebote sutil */
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px); /* más suave que -8px */
  }
}

/* Aplica la animación al pasar el mouse */
.card:hover {
  animation: bounce 0.4s ease; /* más rápido y ligero */
}

.card i {
  font-size: 40px;
  color: #c0392b;
  margin-bottom: 12px;
}

.card h3 {
  color: #b12727;
  font-size: 18px;
  margin-bottom: 10px;
}

.card p {
  font-size: 14px;
  color: #000;
  margin-bottom: 20px;
}

.card button {
  background-color: #c0392b;
  color: #fff;
  padding: 8px 18px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s ease;
}

.card button:hover {
  background-color: #a62a1f;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 992px) {
  .servicios-layout {
    flex-direction: column;
    align-items: center;
  }

  .carousel-container,
  .cards-servicios {
    max-width: 100%;
  }

  .cards-servicios {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1000px) {
  .servicios-layout {
    grid-template-columns: 1fr;
  }

  .cards-servicios {
    grid-template-columns: 1fr 1fr; /* Dos tarjetas por fila */
  }
}

@media (max-width: 600px) {
  .cards-servicios {
    grid-template-columns: 1fr; /* Una tarjeta por fila en móvil pequeño */
  }

  .main-content h2 {
    font-size: 1.6rem;
  }

  .main-content p {
    font-size: 0.9rem;
  }
}

/* Estilo base (móviles) */
.carousel-image-container {
  width: 100%;
  height: 300px; /* altura fija en móvil */
}

.carousel-image-container img {
  width: 100%;
  height: 100%;  /* ahora sí ocupa todo el contenedor */
  object-fit: cover;
  border-radius: 0; /* sin bordes redondeados en móvil */
}

/* Para pantallas grandes */
@media (min-width: 1024px) {
  .carousel-image-container {
    height: 450px; /* altura más grande en escritorio */
  }

  .carousel-image-container img {
    border-radius: 20px; /* redondeado en escritorio */
    object-fit: cover;
  }
}

/* Ajuste adicional en pantallas muy pequeñas */
@media (max-width: 600px) {
  .carousel-image-container {
    height: 250px; /* más bajo en pantallas muy chicas */
  }
}
