.partners-section {
    background-color: var(--color-background);
    padding: 40px 0;
    text-align: center;
    /* overflow: hidden;  QUITADO: Esto podría estar causando el recorte de las flechas */
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
}

.partners-section h2 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--color-text-secondary);
    margin-bottom: 40px; 
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* --- INICIO: Nuevos estilos del Slider --- */

.partners-slider-container {
    position: relative;
    width: 100%; /* Permite que las flechas se posicionen sin ser cortadas por un overflow del padre */
    max-width: 1100px; /* Mantener un ancho máximo para el contenido de los logos */
    margin: 0 auto;
    overflow: hidden; /* Esto es para el track del slider, no para las flechas */
}

.partners-slider-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 100%;
}

.partners-slide {
    display: flex;
    flex-shrink: 0;
    width: 100%;
    justify-content: center; /* Centrar logos horizontalmente */
    align-items: center;
    padding: 0 40px; /* Aumentado el padding para dar espacio a las flechas sin que se solapen con los logos */
    box-sizing: border-box;
}

.partner-item {
    padding: 0 15px; /* Espacio entre logos */
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0; 
    flex: 1 1 auto; /* Permitir que los items se ajusten pero con base automática */
    max-width: 20%; /* Para 5 logos, cada uno ocupa max 20%. Para 4, crecerán hasta el 25% */
    box-sizing: border-box;
    /* Añadido un ancho base para ayudar a la consistencia */
    width: 150px; 
}
  
.partner-item img {
    width: 100%; /* Ocupa el 100% del ancho disponible en su contenedor */
    max-width: 150px; /* Máximo ancho del logo */
    height: 70px; /* Altura fija para todos los logos */
    object-fit: contain; /* Asegura que la imagen se escala sin recortarse y mantiene su relación de aspecto */
    filter: grayscale(100%);
    opacity: 0.6;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

.partner-item img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* Ajuste específico para el logo de Huawei para que las letras blancas se vean */
.partner-item img[alt="Logo Huawei"] {
    background-color: #333; /* Un gris oscuro para hacer contraste */
    border-radius: 5px; /* Bordes ligeramente redondeados para el fondo */
    padding: 5px 10px; /* Espacio alrededor del logo dentro del fondo */
    box-sizing: border-box;
    max-height: 70px; 
    max-width: 180px; 
}

/* Estilos de las flechas */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.9); 
    border: 1px solid var(--color-border);
    border-radius: 50%;
    width: 44px; 
    height: 44px; 
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    color: var(--color-text);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); 
    transition: all 0.2s ease;
}

.slider-arrow:hover {
    background-color: #fff;
    color: var(--color-primary);
    border-color: var(--color-primary);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.slider-arrow.prev {
    left: 0; /* Posicionar en el borde izquierdo del .partners-slider-container */
}

.slider-arrow.next {
    right: 0; /* Posicionar en el borde derecho del .partners-slider-container */
}

/* Estilos de los puntos */
.slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: -30px; 
    width: 100%;
    left: 0;
}

.slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--color-border);
    border: none;
    margin: 0 5px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.slider-dot.active {
    background-color: var(--color-primary); 
    transform: scale(1.2);
}

/* --- FIN: Nuevos estilos del Slider --- */


@media (max-width: 992px) { /* Usamos 992px para sincronizar con mobile-style.css */
    .partners-slider-container {
        width: 100%; 
    }

    /* Ocultamos las flechas y puntos del slider de escritorio en vista móvil */
    .slider-arrow, .slider-dots {
        display: none !important;
    }

    /* El .partners-grid-mobile se controla su display en mobile-style.css, aseguramos el estilo aquí */
    
    .partners-grid-mobile {
        /* Aseguramos que el contenedor de logos ocupe todo el ancho disponible */
        width: 100%;
        max-width: 100%;
    }

    .partner-item {
        max-width: 45%; /* Para que los logos sean más grandes y visibles, 2 por fila */
        padding: 0 8px;
        width: 100%; /* Ocupar el ancho permitido por max-width */
        /* Eliminamos el ancho base en móvil para que flex lo maneje mejor */
    }

    .partner-item img {
        /* FIX CRÍTICO DE VISIBILIDAD: Aumentamos el tamaño máximo para que sean legibles */
        height: auto; /* Altura automática */
        max-height: 80px; /* Altura máxima para control */
        max-width: 100%; /* Ocupar todo el ancho disponible */
        min-width: 80px; /* Asegurar un tamaño mínimo */
        
        filter: grayscale(0%); /* Quitar grayscale en móvil */
        opacity: 1; /* Quitar opacidad en móvil */
        
        /* Aseguramos que el logo del partner esté centrado verticalmente */
        align-self: center;
    }

    /* FIX CRÍTICO: Ajuste específico para el logo de Huawei en móvil para que se centre mejor con el padding. */
    .partner-item img[alt="Logo Huawei"], .dark-logo-bg img[alt="Logo WIT"] {
        padding: 8px 10px; /* Ajuste de padding en móvil */
        max-height: 80px;
        max-width: 100%;
        box-sizing: border-box;
    }
}