/* --- Subsección 4: Ubicación de la Empresa (Optimizado Full-Width Map) --- */
.location-section-full-width {
    padding: 0;
    background-color: transparent;
    text-align: center;
    overflow: hidden;
}

.map-container-full-width {
    width: 100%;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    aspect-ratio: 16 / 9;
    min-height: 400px;
    height: 500px;
}

/* No hay .map-container-full-width iframe porque ya no usamos iframe. */

/* --- Responsive Design para Subsección 4 (Optimizado) --- */

/* Laptops (e.g., 1024px to 1440px) */
@media (min-width: 1024px) and (max-width: 1440px) {
    .map-container-full-width {
        height: 450px;
    }
}

/* Tablets (e.g., 768px a 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
    .map-container-full-width {
        height: 380px;
    }
}

/* Smartphones (e.g., hasta 767px) */
@media (max-width: 767px) {
    .map-container-full-width {
        height: 300px;
    }
}

/* --- Subsección 5: Alianzas Estratégicas --- */
.partnerships-section {
    padding-top: 50px; /* Padding solo en la parte superior para el texto */
    padding-bottom: 0; /* Sin padding abajo ya que el bloque gris tendrá su propio padding/altura */
    background-color: var(--primary-color-light); /* Fondo blanco para la sección, donde está el título y descripción */
    text-align: center;
    color: var(--text-color);
}

.partnerships-section .container {
    max-width: 900px; /* Ancho para el texto principal */
    margin: 0 auto;
    padding: 0 20px;
    margin-bottom: 50px; /* Espacio entre la descripción y el bloque de logos full-width */
}

.partnership-title {
    font-size: 3.4em;
    color: var(--primary-blue);
    margin-bottom: 25px;
    font-weight: bold;
    text-transform: uppercase;
    background: linear-gradient(to right, #8c478c, #003366); /* Degradado del título */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.partnership-description {
    font-size: 1.2em;
    line-height: 1.6;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* Nuevo estilo para el contenedor de logos Full-Width */
.partners-logos-full-width {
    width: auto; /* Ocupa el 100% del ancho del viewport */
    position: relative; /* Necesario para centrarlo si el body tiene margen, etc. */
    left: 50%; /* Mueve el elemento a la mitad del ancho de la pantalla */
    transform: translateX(-50%); /* Regresa el elemento la mitad de su propio ancho para centrarlo */
    background-color: #e0e0e0; /* Color gris del bloque */
    padding: 50px 20px; /* Padding interno para dar altura al bloque y espacio a los logos */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px; /* Espacio entre los logos */
    min-height: 120px; /* Asegura una altura mínima incluso sin logos */
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.05); /* Sombra interna sutil */
}

.partners-logos-full-width img {
    max-width: 150px;
    height: auto;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.partners-logos-full-width img:hover {
    opacity: 1;
}

/* --- Responsive Design para Subsección 5 --- */

/* Laptops (e.g., 1024px to 1440px) */
@media (min-width: 1024px) and (max-width: 1440px) {
    .partnerships-section {
        padding-top: 60px;
    }
    .partnerships-section .container {
        margin-bottom: 40px;
    }
    .partnership-title {
        font-size: 3em;
        margin-bottom: 20px;
    }
    .partnership-description {
        font-size: 1.1em;
        line-height: 1.5;
    }
    .partners-logos-full-width {
        padding: 40px 20px;
        gap: 30px;
        min-height: 100px;
    }
    .partners-logos-full-width img {
        max-width: 120px;
    }
}

/* Tablets (e.g., 768px a 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
    .partnerships-section {
        padding-top: 50px;
    }
    .partnerships-section .container {
        padding: 0 15px;
        margin-bottom: 30px;
    }
    .partnership-title {
        font-size: 2.6em;
        margin-bottom: 18px;
    }
    .partnership-description {
        font-size: 1em;
        line-height: 1.5;
    }
    .partners-logos-full-width {
        padding: 30px 15px;
        gap: 25px;
        min-height: 90px;
    }
    .partners-logos-full-width img {
        max-width: 100px;
    }
}

/* Smartphones (e.g., hasta 767px) */
@media (max-width: 767px) {
    .partnerships-section {
        padding-top: 40px;
    }
    .partnerships-section .container {
        padding: 0 10px;
        margin-bottom: 25px;
    }
    .partnership-title {
        font-size: 2.2em;
        margin-bottom: 15px;
    }
    .partnership-description {
        font-size: 0.9em;
        line-height: 1.4;
    }
    .partners-logos-full-width {
        padding: 25px 10px;
        gap: 20px;
        min-height: 80px;
    }
    .partners-logos-full-width img {
        max-width: 80px;
    }
}

.carousel-wrapper {
  background: #1A3F7A;
  background: linear-gradient(90deg, rgba(26, 63, 122, 1) 0%, rgba(48, 116, 224, 1) 100%);
  margin: 0;
  padding: 0;
}

.carousel-wrapper {
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  overflow: hidden;
  padding: 1rem 0;
}

.carousel {
  display: grid;
  grid-auto-flow: column;
  gap: 2rem;
}

.carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(150px, 1fr);
  align-items: center;
  animation: scroll 20s linear infinite;
}

.slide img {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0) invert(1);
}

/* Animación continua */
@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Responsivo */
@media (max-width: 768px) {
  .carousel-track {
    grid-auto-columns: minmax(120px, 1fr);
    animation-duration: 15s;
  }
}
