/* ================================
   SERVICIOS CORPORATIVOS
   ================================ */
.servicios-corporativos {
  padding: 50px 20px;
  background-color: var(--default-background-color-website);
}

.container-services {
  max-width: 1200px;
  margin: 0 auto;
}

.main-title-services {
  font-family: 'Montserrat', sans-serif;
  font-size: 3.4rem;
  font-weight: 700;
  color: var(--primary-color-pink);
  text-align: center;
  margin-bottom: 50px;
}

/* Grid principal de cards */
.service-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

/* Card base */
.service-card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
  /* que texto e imagen ocupen la misma altura */
  gap: 30px;
  background-color: var(--primary-color-light);
  border-radius: 15px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  padding: 20px;
  min-height: 260px;
  /* asegura altura mínima consistente */
}

/* Contenido de texto */
.text-content {
  padding: 20px;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.card-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color: var(--primary-color-blue);
  margin: 0 0 10px 0;
}

.card-subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--primary-color-pink);
  margin-bottom: 15px;
}

.card-description {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--primary-color-dark);
  line-height: 1.6;
}

/* Imagen */
.card-image-container {
  overflow: hidden;
  border-radius: 15px;
  display: block;
  height: 100%;
  min-height: 200px;
  /* fallback para navegadores sin aspect-ratio */
}

.service-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 16/9;
  /* mantiene proporción consistente */
}

/* ================================
   RESPONSIVIDAD
   ================================ */

/* Pantallas grandes (PC, Laptop) */
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .main-title-services {
    font-size: 3rem;
  }

  .service-card-grid {
    gap: 60px;
  }
}

/* Pantallas medianas (Tablet) */
@media screen and (min-width: 481px) and (max-width: 767px) {
  .main-title-services {
    font-size: 2.6rem;
  }

  .service-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .text-content,
  .text-left,
  .text-right {
    text-align: center;
  }

  .card-title {
    font-size: 1.5rem;
  }

  .card-subtitle {
    font-size: 1rem;
  }

  .card-description {
    font-size: 1rem;
    line-height: 1.4;
  }
}

/* Pantallas pequeñas (Smartphone) */
@media screen and (max-width: 480px) {
  .main-title-services {
    font-size: 2.3rem;
  }

  .service-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .main-title-services {
    font-size: 2rem;
  }

  .text-content {
    padding: 10px;
  }

  .card-title {
    font-size: 1.3rem;
  }

  .card-subtitle {
    font-size: 0.9rem;
  }

  .card-description {
    font-size: 0.9rem;
    line-height: 1.3;
  }
}