/* ====================================
   SECCIÓN DE CLIENTES (CSS puro)
   ====================================
   Muestra los logos de empresas que confían en nuestros servicios.
   Este archivo mantiene el estilo consistente con variables y breakpoints del sitio.
*/

/* Sección base */
.clients {
  padding: 5rem 0;
  background:
    radial-gradient(circle at top left, rgba(40, 106, 77, 0.08), transparent 35%),
    var(--color-background);
}

/* Contenedor con ancho máximo y padding lateral */
.clients-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-base);
}

/* Encabezado de la sección */
.clients-header {
  text-align: center;
}

.clients-title {
  font-size: var(--font-size-h2); /* ~ text-3xl */
  font-weight: 900; /* bold */
  color: var(--color-text);
  letter-spacing: -0.02em; /* tracking-tight */
}

.clients-description {
  margin-top: var(--spacing-base);
  font-size: var(--font-size-body-lg);
  line-height: 1.75; /* leading-8 */
  color: var(--color-text-light);
}

/* Grid de logos de clientes */
.clients-grid {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem; /* gap-4 */
}

/* Tarjeta cuadrada con centrado del logo */
.client-card {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-base); /* p-4 */
  background-color: #f7faf8;
  border: 1px solid rgba(40, 106, 77, 0.12);
  border-radius: var(--border-radius-lg); /* rounded-lg */
  aspect-ratio: 1 / 1; /* aspect-square */
  overflow: hidden;
  width: 160px; /* Cuadrado más pequeño */
  height: 160px; /* Cuadrado más pequeño */
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.08);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.client-card:hover {
  transform: translateY(-6px);
  border-color: rgba(40, 106, 77, 0.28);
  box-shadow: 0 18px 36px rgba(16, 24, 40, 0.14);
}

/* Imagen/logo dentro de la tarjeta */
.client-logo {
  max-height: 5.5rem; /* Logo más grande */
  max-width: 90%;      /* Mayor proporción del logo */
  width: auto;
  height: auto;
  object-fit: contain;  /* asegura que el logo no se recorte */
  filter: grayscale(100%);
  opacity: 0.8;
  transition: filter 0.28s ease, opacity 0.28s ease, transform 0.28s ease;
}

.client-card:hover .client-logo {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.03);
}

/* ====================================
   Breakpoints (siguen la convención del sitio)
   768px (tablet), 1024px (desktop), 1280px (xl)
   ==================================== */
@media (min-width: 768px) {
  .clients { padding: 6rem 0; } /* sm:py-24 */
  .clients-title { font-size: 2.5rem; } /* sm:text-4xl */
  .clients-grid {
    gap: 2rem; /* Más espacio entre tarjetas */
  }
  .client-card {
    width: 180px; /* Cuadrados más pequeños en tablet */
    height: 180px;
  }
  .client-logo { max-height: 6rem; /* Logo más grande */ }
}

@media (min-width: 1024px) {
  .client-card {
    width: 200px; /* Cuadrados más pequeños en desktop */
    height: 200px;
  }
  .clients-grid {
    gap: 2.5rem;
  }
  .client-logo { max-height: 6.5rem; /* Logo más grande */ }
}

@media (min-width: 1280px) {
  .clients-grid {
    gap: 3rem; /* Más espacio en pantallas grandes */
  }
  .client-logo { max-height: 7rem; /* Logo más grande */ }
}
